TS 踩坑之路(三)

一、父组件通过ref调用子组件中的方法,子组件方法用public 定义函数报错

代码案例

在这里插入图片描述

报错信息

Declaration of public instance method not allowed after declaration of private instance method. Instead, this should come after private instance fields.

解决办法

将定义的public 方法放到最前面,(排在最前)

二、数组push 和对象映射

ps: 将对象映射变为数组模式
代码案例

在这里插入图片描述

报错信息

Conversion of type ‘string’ to type ‘1 | 2’ may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to ‘unknown’ first.

报错翻译

在这里插入图片描述

解决办法

将数组中要push 的值和值 对应的类型一致就可以
在这里插入图片描述

拓展:

引用的 Option 类型为
在这里插入图片描述
引用的对象为(对象映射)
在这里插入图片描述
打印结果为
在这里插入图片描述

三、数组push

代码案例

在这里插入图片描述

报错信息

Argument of type ‘any’ is not assignable to parameter of type ‘never’.

解决办法

将数组定义好类型就可以
在这里插入图片描述
在这里插入图片描述

补充
// 问题写法
const wdData = [];
// 正确写法
connst wdData: any[] = [];

四、从地址栏里取参给表单赋值

代码案例

定义了this.addData.businessIncharge = ’ ’
在这里插入图片描述

报错信息

Type ‘string | (string | null)[]’ is not assignable to type ‘string’.
Type ‘(string | null)[]’ is not assignable to type ‘string’.

解决方法 [加上 as string 就可以]
this.addData.businessIncharge = (this.$route.query.misID as string) || ''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值