Subscribe on changes!

使用tsx创建的带有命名slot组件,在引用时报错,这个又是那里配置的问题呢?

avatar
Mar 1st 2022

我使用vite创建的工程,编写了hasslot.tsx组件,代码如下: `import { defineComponent } from 'vue'

export default defineComponent({ render() { const { $slots } = this return

{$slots.header ? $slots.header() : ''}
} })`

我在同目录下创建了一个test.vue,代码如下: ` `

在yarn build时,报Element implicitly has an 'any' type because expression of type '"header"' can't be used to index type '{} | {}'. 错误。我已经在env.d.ts中添加了 declare module '*.tsx' { import type { DefineComponent } from 'vue' // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types const component: DefineComponent<{}, {}, any> export default component }

但如果把hashslot.tsx改为vue单文件的模式就不会。因为我们开发的组件库有一部分使用的是tsx做的,现在遇到这个问题build不过去。请问要怎么处理!非常感谢。

avatar
Mar 1st 2022

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.