HarmonyOS showLoading 和 showToast 怎么实现

HarmonyOS
2024-12-18 14:34:44
浏览
收藏 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
微信
回复
2024-12-18 16:54:13
相关问题
HarmonyOS promptAction.showToast使用问题
1260浏览 • 1回复 待解决
HarmonyOS 图片视频的弹幕怎么实现
1029浏览 • 1回复 待解决
怎么实现键盘滑动联动?
510浏览 • 0回复 待解决
HarmonyOS 隐私用户协议弹框怎么实现
1099浏览 • 1回复 待解决
鸿蒙reactnative混合开发怎么实现
3423浏览 • 1回复 待解决
HarmonyOS 项目的防抖截流怎么实现
1345浏览 • 1回复 待解决