HarmonyOS Promise 如何直接显示在Text上面?

export async function getUseCarOrderType(orderType: string): Promise<string> {
  return (await DictionaryMgr.getInstance().getUseCarOrderType()).find((item) => item.value === orderType)?.labelZhCh ?? "-"
}
阅读 544
1 个回答

Text组件只支持string和Resource类型

文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-text-V5

可以声明一个属性,将promise的执行结果赋值进去可参考此代码:

export function foo(data: string): Promise<string> {
  return new Promise<string>((resolve, reject) => {
    resolve(data + '123')
  })
}
@Entry
@Component
struct Index {
  @State promiseData: string = ''
  onPageShow(): void {
    foo('foo').then((data)=>{
      this.promiseData = data
    })
  }
  build() {
    Column(){
      Text(this.promiseData)
        .width(200)
        .height(100)
        .backgroundColor(Color.Blue)
        .fontColor(Color.Red)
        .onClick(async ()=>{
          this.promiseData = await foo('abc')
        })
    }
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进