组件smart-list
可以完成工作,并且正在渲染正确的组件。
它只是没有传递道具。我希望它们位于context.data
中,但它是undefined
。
SmartList.vue
import EmptyList from "./EmptyList";
import FullList from "./FullList";
export default {
functional: true,
props: {
items: {
type: Array
}
},
render(h, { props, data, children }) {
if (props.items.length > 0) {
return h(FullList, data, children);
} else {
return h(EmptyList, data, children);
}
}
};
我想念什么?
答案 0 :(得分:1)
我找到了解决方案。在smart-list
组件中,我更改了一行:
import EmptyList from "./EmptyList";
import FullList from "./FullList";
export default {
functional: true,
props: {
items: {
type: Array
}
},
render(h, { props, data, children }) {
if (props.items.length > 0) {
- return h(FullList, data, children);
+ return h(FullList, { attrs: props }, children);
} else {
return h(EmptyList, data, children);
}
}
};
现在可以使用了。
有人可以指出为什么为什么无法传递完整的data
对象吗?