Vue3中使用ts,赋值VNode类型报错

发布于 2022-09-13 00:14:11 字数 268 浏览 23 评论 0

接口定义
image.png

给变量b赋值VNode类型报错,赋值对象字面量不报错
image.png

报错
image.png

请问一下这个报错是什么原因呢,需要怎么修改呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离旧人 2022-09-20 00:14:11

类型不兼容,直接去掉 const b: ObjectData = .. 中的 : ObjectData,ts可以推断出 b 的类型, 所以不需要额外的类型声明

Bonjour°[大白 2022-09-20 00:14:11
options?: { text: string | VNode, value: any }[];

const fontFamilyArr = [
  { text: '宋体', value: '"SimSun","STSong"' },
  { text: '黑体', value: '"SimHei","STHeiti"' },
  { text: '楷体', value: '"KaiTi","STKaiti"' },
  { text: '仿宋', value: '"FangSong","STFangsong"' }
]

const fontFamilyOptions = fontFamilyArr.map(font => {
  return {
    value: font.value,
    text: h('span', { style: { fontFamily: font.value } }, font.text)
  }
})

import { defineComponent } from 'vue'
const RenderVnode = defineComponent({
  props: {
    vNode: {
      type: [Object, String],
      required: true
    }
  },
  render() {
    return this.vNode
  }
})
export default RenderVnode

import RenderVnode from './RenderVnode'
components; {
  RenderVnode
}
<render-vnode :vNode="option.text" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文