HarmonyOS showLoading 和 showToast 怎么实现

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

可使用promptAction.openCustomDialog自定义弹窗:

//Index.ets 
import {
  changeDialogBuilder,
  MyShowTest
}
  from '../common/HttpUtils'import {
  customDialogBuilder
}
  from './testProm'let myShowTest = new MyShowTest()@Entry@Component struct Index {@State message: string = 'Hello World'onPageShow() : void {
  changeDialogBuilder(customDialogBuilder.bind(this))
}
  build() {
    Row() {
      Column() {
        Text(this.message).fontSize(50).fontWeight(FontWeight.Bold).onClick(() = >{
          myShowTest.showTest()
        })
      }.width('100%')
    }.height('100%')
  }
}
//testProm.ets 
@Builder export
function customDialogBuilder() {
  Column() {
    Text('正在加载中').fontSize(16)
  }.height(100).width(100).backgroundColor('#EEE')
}
//HttpUtils.ets 
import promptAction from '@ohos.promptAction'let myDialogBuilder: CustomBuilder;
let customDialogId: number = 0 export
function changeDialogBuilder(builder: CustomBuilder) {
  myDialogBuilder = builder
}
export class MyShowTest {
  showTest() {
    if (myDialogBuilder === undefined) {
      return
    }
    promptAction.openCustomDialog({
      builder: myDialogBuilder,
      alignment: DialogAlignment.Center,
    }).then((dialogId: number) = >{
      customDialogId = dialogId
    }) setTimeout(() = >{
      promptAction.closeCustomDialog(customDialogId)
    },
      2000)
  }
}
分享
微博
QQ
微信
回复
4天前
相关问题
HarmonyOS 项目的防抖截流怎么实现
22浏览 • 1回复 待解决
鸿蒙reactnative混合开发怎么实现
2355浏览 • 1回复 待解决
HarmonyOS Navigationrouter怎么
38浏览 • 1回复 待解决
HarmonyOS 怎么区分debugrelease
720浏览 • 1回复 待解决
HarmonyOS 换肤功能怎么实现
534浏览 • 1回复 待解决
HarmonyOS 怎么实现高斯模糊
580浏览 • 1回复 待解决
HarmonyOS h5HarmonyOS怎么通信?
161浏览 • 1回复 待解决
HarmonyOS SDKopenHarmony SDK怎么选择?
8207浏览 • 1回复 待解决