Vue3脚本设置和TS错误'类型'字符串'不能分配给类型'填充|未定义'.'变通方法

laawzig2  于 2022-12-30  发布在  Vue.js
关注(0)|答案(1)|浏览(905)

使用Vue 3的脚本设置语法,并在将变量分配为prop值时获得奇怪的ts错误。
我有一个Stuff: 'item' | 'box' | 'area'的类型定义,我正在SearchBar组件中使用PropType我的prop kind

const props = defineProps({
  kind: { type: String as PropType<Stuff> },
  placeholder: String,
})

然而,当我用值为'item'的变量填充组件上的属性时,我得到了以下错误:

Type 'string' is not assignable to type 'Stuff | undefined'.
我以前在提到stringString时见过这种错误,所以字符串的大小写甚至有错误(我知道TS使用小写,Vue使用Pascalcase)。
如果任何人有一个很好的变通办法或任何建议,我真的会很感激!

7vhp5slm

7vhp5slm1#

这是一个常见的Ts错误。我以前也遇到过同样的错误。试试这个:

const props = defineProps({
kind: { type: Stuff | undefined },
placeholder: String,
})

希望能有所帮助

相关问题