自定义组件渲染遇到的困难
当你尝试使用 render 函数渲染自定义组件时,可能遇到错误,导致页面无法渲染。这是为什么呢?
答案在于 h() 函数返回的实际上是一个 vnode 对象(虚拟 dom 节点),而并非字符串。在模板中使用 {{ someobject }} 会将该 vnode 序列化为字符串并显示。由于 vnode 对象内部包含循环引用,因此会导致错误。
要将 vnode 渲染到模板中,你需要使用
<template #status="{ row }">
<component :is="formatterStatus(row.status)" />
</template>如果以上回答还不够清晰,请参考示例:
错误写法:
正确写法:

















