HarmonyOS 是否有全局loading这种控件?
网络请求全局loading,目前只封装了这个类,但是还是比较麻烦,需要在页面中这样调用。
//全局的loading
loading: CustomDialogController = new CustomDialogController({
builder: LoadingDialog({ loadingTips: this.loadingTips }),
autoCancel: false,
gridCount: 2,
alignment: DialogAlignment.Center,
cancel: () => {
this.loadingShow = false
}
})
aboutToAppear(): void {
LoadingDialogController.init(this.loading);
const loadingDialogController = LoadingDialogController.getInstance();
loadingDialogController.observeLoadingEvent();
}
请问是否有全局dialog可以依附当前context来显示而不是跟@Entry绑定。
import { EventBusUtils } from '../../common/utils/EventBusUtils';
import { LoadingBean } from '../bean/LoadingBean';
import { LoadingEvent } from '../event/EventKeys';
export class LoadingDialogController {
private static instance: LoadingDialogController | null = null;
private loadingShow: boolean = false;
private loadingTips: string = "";
private dialogController: CustomDialogController;
private constructor(dialogController: CustomDialogController) {
this.dialogController = dialogController;
}
static getInstance(): LoadingDialogController {
if (!LoadingDialogController.instance) {
throw new Error("Instance not initialized. Call init method first.");
}
return LoadingDialogController.instance;
}
static init(dialogController: CustomDialogController): void {
LoadingDialogController.instance = new LoadingDialogController(dialogController);
}
observeLoadingEvent(): void {
EventBusUtils.observe<LoadingBean>(LoadingEvent, (data) => {
if (data && data.showLoading && !this.loadingShow) {
this.loadingShow = true;
this.loadingTips = data.loadingTips || "";
this.dialogController.open();
} else {
this.dialogController.close();
this.loadingShow = false;
}
});
}
destroyLoadingEvent(): void {
EventBusUtils.destroy(LoadingEvent);
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 全局loading有什么方案吗
1288浏览 • 1回复 待解决
HarmonyOS 全局loading
1075浏览 • 1回复 待解决
HarmonyOS 有提供全局的loading加载框吗?
1026浏览 • 1回复 待解决
HarmonyOS 全局的loading组件
1711浏览 • 1回复 待解决
HarmonyOS 全局loading的实现方案
1229浏览 • 1回复 待解决
HarmonyOS是否有刻度控件
913浏览 • 1回复 待解决
HarmonyOS 没有全局的api loading动画
1554浏览 • 1回复 待解决
HarmonyOS 如何在全局使用loading组件?
2210浏览 • 1回复 待解决
HarmonyOS 全局loading的菊花如何实现?
1746浏览 • 1回复 待解决
HarmonyOS 是否有类似fastjson这种JSON库
1317浏览 • 1回复 待解决
HarmonyOS 是否有提供系统默认的loading组件
942浏览 • 1回复 待解决
HarmonyOS 请问如何实现全局添加loading加载框
1837浏览 • 1回复 待解决
HarmonyOS 视频压缩以及请求全局loading
1026浏览 • 1回复 待解决
HarmonyOS 是否有全局粘贴的功能
1054浏览 • 1回复 待解决
HarmonyOS是否有全局打印的服务
1335浏览 • 1回复 待解决
HarmonyOS 是否有全局浮动组件的代码示例?
1251浏览 • 1回复 待解决
HarmonyOS 是否有类似popupWindow的控件,能从底部滑出
652浏览 • 1回复 待解决
HarmonyOS 是否有支持gif图循环播放的控件?
843浏览 • 1回复 待解决
HarmonyOS Image控件加载图片是否有缓存机制?
752浏览 • 1回复 待解决
HarmonyOS 怎么实现一个全局随处可以调用的loading?
1410浏览 • 1回复 待解决
HarmonyOS 有没有控件可以实现这种读书翻页的效果
878浏览 • 1回复 待解决
HarmonyOS 是否有自带吸顶效果的UI控件
834浏览 • 1回复 待解决
HarmonyOS 使用SubWindow 创建的全局Loading框 不是调用时立即出现
1049浏览 • 1回复 待解决
HarmonyOS通过方法调用的loading有吗?
1474浏览 • 1回复 待解决
HarmonyOS是否有办法获取某个控件的父组件对象?
1313浏览 • 1回复 待解决
可以参考以下demo:
1、新建GlobalContext.ets工具类。
2、新建DialogUtils.ets工具类。
3、页面入口调用。