TS 踩坑之路(四)之 Vue3

一、在使用定义默认值withDefaults和defineProps 组合时,默认值设置报错

代码案例

TS 踩坑之路(四)之 Vue3_第1张图片

报错信息

不能将类型“{ isBackBtn: false; }”分配给类型“(props: PropsType) => RouteMsgType”。
对象字面量只能指定已知属性,并且“isBackBtn”不在类型“(props: PropsType) => RouteMsgType”中。ts(2322)
headerTopPart.ts(14, 3): 所需类型来自属性 “routeMsg”,在此处的 “InferDefaults” 类型上声明该属性

解决办法

复杂数据类型,需要通过一个箭头函数return出来
ps: 由于title必传,所以需要加上title默认值

知识补充链接: TS定义组件Props的default和required

TS 踩坑之路(四)之 Vue3_第2张图片

二、 ts中的interface或者type,索引key不能为boolean

代码案例

TS 踩坑之路(四)之 Vue3_第3张图片

报错信息

索引签名参数类型必须是 “string”、“number”、“symbol”或模板文本类型

解决方案

TS 踩坑之路(四)之 Vue3_第4张图片

你可能感兴趣的:(Vue,Typescript,vue.js,typescript)