vue 在使用增强时,将函数与ComponentCustomOptions一起使用会导致TS2769错误,

zrfyljdw  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(44)

版本

2.7.14

复现链接

github.com

复现步骤

  1. ComponentCustomOptions 接口中添加一个新的可选成员函数。示例:funcOption?: (...) => ...
  2. defineComponent 中使用新的成员函数。示例:defineComponent({ name: 'CompName', funcOption: (...) => ... })
  3. 使用类型检查运行构建。示例:npm run build,需要安装并设置 vitevue-tsc
    使用 repro link 的步骤:
  4. 克隆仓库
  5. 运行 npm ci
  6. 运行 npm run build

预期结果是什么?

构建应该成功,没有错误。

实际发生的情况是什么?

构建时出现 TS2769 错误。似乎 TypeScript 试图使用功能组件重载而不是其中一个普通重载。

6l7fqoea

6l7fqoea1#

如果更改funcOption的返回值,它将起作用。

const HomeView = defineComponent({
  name: 'HomeView',
  components: { TheWelcome },
  funcOption: route => {
    return {}
  }
})
cedebl8k

cedebl8k2#

刚刚发现augment ComponentOptions也存在同样的问题。

相关问题