请问老师,setup组件中如何使用render函数呢
来源:2-2 安装 Typescript 文档
有没有没被占用的昵称
2022-03-18
老师我知道在setup方法可以返回一个h函数来渲染模板
但是在setup组件中不允许直接return,如果在setup组件中想使用h函数应该怎么做呢
写回答
1回答
-
同学你好 好问题 假如不使用 tsx 的话,我一般都会用一个 “中间组件” 的技术来实现对应的功能。我会创建这样一个组件:
//renderVnode.ts import { defineComponent, h, isVNode } from 'vue' const RenderVnode = defineComponent({ props: { vNode: { type: [Object, String], required: true } }, render () { if (isVNode(this.vNode)) { return this.vNode } else { return h('div', this.vNode as any) } } }) export default RenderVnode // 想用 vnode 的地方可以直接用这个组件的属性传递 text 这里可以是一个 h 返回的节点 <render-vnode :vNode="text"></render-vnode> // 亲测好用,我在工作中就是这么用的
012022-03-19
相似问题