Skip to content

Commit 201fa75

Browse files
Refactoring
1 parent 4934957 commit 201fa75

File tree

2 files changed

+12
-18
lines changed

2 files changed

+12
-18
lines changed

src/core/renderHelper.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ function solveTag(tag) {
4141
const realRoot = externalComponent ? resolveComponent(tag) : tag;
4242
return {
4343
tag: realRoot,
44-
externalComponent
44+
externalComponent,
45+
noneFunctional: externalComponent && typeof realRoot !== "function"
4546
};
4647
}
4748

src/vuedraggable.js

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,17 @@ const draggableComponent = defineComponent({
102102
render() {
103103
const { $slots, $attrs, tag, componentData } = this;
104104
const renderContext = computeRenderContext({ $slots, tag });
105+
this.renderContext = renderContext;
106+
this.noneFunctionalComponentMode = renderContext.noneFunctional;
105107
const attributes = getComponentAttributes({ $attrs, componentData });
106108

107-
const mainNode = h(renderContext.tag, attributes, renderContext.children);
109+
if (renderContext.noneFunctional && renderContext.transitionMode) {
110+
throw new Error(
111+
`Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ${tag}`
112+
);
113+
}
108114

109-
this.renderContext = renderContext;
110-
this.noneFunctionalComponentMode =
111-
renderContext.externalComponent && typeof mainNode.type !== "function";
112-
return mainNode;
115+
return h(renderContext.tag, attributes, renderContext.children);
113116
},
114117

115118
created() {
@@ -121,18 +124,8 @@ const draggableComponent = defineComponent({
121124
},
122125

123126
mounted() {
124-
const {
125-
tag,
126-
$attrs,
127-
rootContainer,
128-
noneFunctionalComponentMode,
129-
renderContext: { transitionMode }
130-
} = this;
131-
if (noneFunctionalComponentMode && transitionMode) {
132-
throw new Error(
133-
`Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ${tag}`
134-
);
135-
}
127+
const { $attrs, rootContainer } = this;
128+
136129
const sortableOptions = createSortableOption({
137130
$attrs,
138131
callBackBuilder: {

0 commit comments

Comments
 (0)