HarmonyOS Navigation的 .menus()方法中传入的value值(菜单名称)如何实现文字本地化

目前尝试给Navigation的 .menus()方法中传入的value值使用string资源

代码:value: $r(‘app.string.Page_close’)

报错:Type ‘Resource’ is not assignable to type ‘string’. <ArkTSCheck>

示例代码:

build() {
  Navigation() {
    Web({ src: this.webUrl, controller: this.controller })
      .backgroundColor($r('app.color.start_window_background'))// .darkMode(WebDarkMode.Auto)
      .darkMode(this.mode)//深色适配3
      .forceDarkAccess(this.access)//深色适配4
        //Web过滚动模式开启
      .overScrollMode(OverScrollMode.ALWAYS)// 否允许加载超文本传输协议(HTTP)和超文本传输安全协议(HTTPS)混合内容,默认不允许加载HTTP和HTTPS混合内容。
      .mixedMode(MixedMode.Compatible)
      .onPageBegin((event) => {
        this.pageEnd = false
      })
      .onPageEnd(() => {
        this.pageEnd = true
        if (this.webTitle == '') {
          this.webTitle = this.controller.getTitle()
        }
      })
    if (!(this.pageEnd)) {
      LodingView() //等待指示器
    }
  }
  .width('100%')
  .height('100%')
  .title(this.NavigationTitle)
  .titleMode(NavigationTitleMode.Mini)
  .hideBackButton(true)
  .menus([{
    value: '上一页', icon: 'resources/base/media/web_back.png', action: () => {
      this.controller.backward()
    }
  },
    {
      value: '下一页', icon: 'resources/base/media/web_next.png', action: () => {
      this.controller.forward()
    }
    },
    {
      value: '刷新', icon: 'resources/base/media/web_refresh.png', action: () => {
      this.controller.refresh();
    }
    },
    {
      value: $r('app.string.Page_close'), icon: 'resources/base/media/web_close.png', action: () => {
      router.back();
    }
    }
  ])

}
HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

可以将Resource类型转为资源对应的真实类型比如在string.json中定义了一个{“name”: “module_desc”,“value”: “module description”}的资源

可以通过$r(‘app.string.module_desc’)获取到Resource,也可以使用对应的方法如getStringByName获取到Resource对应的值(也就是"module description"字符串)参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-resource-manager-V5

分享
微博
QQ
微信
回复
4天前
相关问题
HarmonyOS如何获取对象所有的value
1219浏览 • 1回复 待解决
HarmonyOS 获取Resourcevalue问题
454浏览 • 1回复 待解决