Vue JSX props slots 类型定义问题?
请教各位 defineComponent((props, {emit, slots}) => { return () => <div></div> })
这种 JSX 语法写法的时候,大家是怎么声明 props emits slots 的类型的?我遇到了以下问题:
- 模板里可以通过 defineSlots 得到类型提示,JSX 应该怎么做比较好?
- props 定义运行时类型检测的时候,组件上写 class='' 的话 ts 会报错。报错图如下:
回复
1个回答
test
2024-06-30
import { defineComponent, SetupContext } from 'vue'
interface Props {
text?: string;
}
const MyComponent = defineComponent({
name: 'MyComponent',
props: {
text: String,
},
setup(props: Props, { emit, slots }: SetupContext) {
return () => (
<div>
{props.text}
{slots.default && slots.default()}
</div>
)
},
})
export default MyComponent
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容