HarmonyOS开发——编译错误集锦(升级v4.x版本后的ArkTSCheck)

1. Array literals must contain elements of only inferrable types (arkts-no-noninferrable-arr-literals)

修改前:

let permissionList = [
  { name: '设备信息', value: '用于分析设备的续航、通话、上网、SIM卡故障等' },
  { name: '麦克风', value: '用于反馈问题单时增加语音' },
  { name: '存储', value: '用于反馈问题单时增加本地文件附件' }
]

修改后:

class PermissionItem {
  name?: string
  value?: string
}

let permissionList: PermissionItem[] = [
  { name: '设备信息', value: '用于分析设备的续航、通话、上网、SIM卡故障等' },
  { name: '麦克风', value: '用于反馈问题单时增加语音' },
  { name: '存储', value: '用于反馈问题单时增加本地文件附件' }
]

2. Argument of type 'number' is not assignable to parameter of type 'string | Resource'. <ArkTSCheck>

修改前:

Text(item.id).fontSize(16).fontWeight(FontWeight.Bold).width('30%')

修改后:

Text(item.id.toString()).fontSize(16).fontWeight(FontWeight.Bold).width('30%')

即4.0版本起,需严格执行ArkTS的规则,item.id是number类型,Text组件需要string类型的内容,所以需要转换。

posted on 2024-10-14 11:42  逍遥云天  阅读(198)  评论(0编辑  收藏  举报

导航