a77917 2024-11-10 20:02 采纳率: 50%
浏览 61
已结题

升级到DevEco Studio5.0后4.0的代码提示出错

下面代码在DevEco Studio4.0运行正常,升级到DevEco Studio5.0后
:Array<{处提示:“Object literals cannot be used as type declarations (arkts-no-obj-literals-as-types) ”
{title:'首页'}等提示:“Array literals must contain elements of only inferrable types (arkts-no-noninferrable-arr-literals) ”
没有找到升级帮助文档。

private items:Array<{title:string,iconSelected:Resource,iconNormal:Resource}> =[
    {title:'首页',iconSelected:$r('app.media.ic_home_selected'),iconNormal:$r('app.media.ic_home_normal')},
    {title:'精选',iconSelected:$r('app.media.ic_discover_selected'),iconNormal:$r('app.media.ic_discover_normal')},
    {title:'收藏',iconSelected:$r('app.media.ic_sub_selected'),iconNormal:$r('app.media.ic_sub_normal')},
    {title:'购物车',iconSelected:$r('app.media.ic_shopping_selected'),iconNormal:$r('app.media.ic_shopping_normal')},
    {title:'我的',iconSelected:$r('app.media.ic_mine_selected'),iconNormal:$r('app.media.ic_mine_normal')},
  ]
  • 写回答

2条回答 默认 最新

  • a77917 2024-11-10 20:04
    关注

    找到解决方式了,Array<>需要定义接口interface:

    interface EndNavInterface { title: string;iconSelected: Resource;iconNormal: Resource; }
    

    然后

    private items:Array<{title:string,iconSelected:Resource,iconNormal:Resource}> =[
        {title:'首页',iconSelected:$r('app.media.ic_home_selected'),iconNormal:$r('app.media.ic_home_normal')},
        {title:'精选',iconSelected:$r('app.media.ic_discover_selected'),iconNormal:$r('app.media.ic_discover_normal')},
        {title:'收藏',iconSelected:$r('app.media.ic_sub_selected'),iconNormal:$r('app.media.ic_sub_normal')},
        {title:'购物车',iconSelected:$r('app.media.ic_shopping_selected'),iconNormal:$r('app.media.ic_shopping_normal')},
        {title:'我的',iconSelected:$r('app.media.ic_mine_selected'),iconNormal:$r('app.media.ic_mine_normal')},
      ]
    

    改为:

    private items:Array<EndNavInterface> =[
        {title:'首页',iconSelected:$r('app.media.ic_home_selected'),iconNormal:$r('app.media.ic_home_normal')},
        {title:'精选',iconSelected:$r('app.media.ic_discover_selected'),iconNormal:$r('app.media.ic_discover_normal')},
        {title:'收藏',iconSelected:$r('app.media.ic_sub_selected'),iconNormal:$r('app.media.ic_sub_normal')},
        {title:'购物车',iconSelected:$r('app.media.ic_shopping_selected'),iconNormal:$r('app.media.ic_shopping_normal')},
        {title:'我的',iconSelected:$r('app.media.ic_mine_selected'),iconNormal:$r('app.media.ic_mine_normal')},
      ]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月24日
  • 已采纳回答 11月16日
  • 修改了问题 11月10日
  • 创建了问题 11月10日