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有什么方案吗
1234浏览 • 1回复 待解决
HarmonyOS 全局loading
1025浏览 • 1回复 待解决
HarmonyOS 有提供全局的loading加载框吗?
981浏览 • 1回复 待解决
HarmonyOS 全局的loading组件
1669浏览 • 1回复 待解决
HarmonyOS是否有刻度控件
871浏览 • 1回复 待解决
HarmonyOS 全局loading的实现方案
1169浏览 • 1回复 待解决
HarmonyOS 全局loading的菊花如何实现?
1670浏览 • 1回复 待解决
HarmonyOS 是否有类似fastjson这种JSON库
1248浏览 • 1回复 待解决
HarmonyOS 是否有提供系统默认的loading组件
918浏览 • 1回复 待解决
HarmonyOS 如何在全局使用loading组件?
2147浏览 • 1回复 待解决
HarmonyOS 没有全局的api loading动画
1515浏览 • 1回复 待解决
HarmonyOS 是否有全局粘贴的功能
1025浏览 • 1回复 待解决
HarmonyOS是否有全局打印的服务
1286浏览 • 1回复 待解决
HarmonyOS 视频压缩以及请求全局loading
990浏览 • 1回复 待解决
HarmonyOS 请问如何实现全局添加loading加载框
1787浏览 • 1回复 待解决
HarmonyOS 是否有全局浮动组件的代码示例?
1215浏览 • 1回复 待解决
HarmonyOS Image控件加载图片是否有缓存机制?
728浏览 • 1回复 待解决
HarmonyOS 是否有支持gif图循环播放的控件?
801浏览 • 1回复 待解决
HarmonyOS 是否有类似popupWindow的控件,能从底部滑出
631浏览 • 1回复 待解决
HarmonyOS 是否有自带吸顶效果的UI控件
796浏览 • 1回复 待解决
HarmonyOS 有没有控件可以实现这种读书翻页的效果
863浏览 • 1回复 待解决
HarmonyOS 怎么实现一个全局随处可以调用的loading?
1360浏览 • 1回复 待解决
HarmonyOS是否有办法获取某个控件的父组件对象?
1252浏览 • 1回复 待解决
HarmonyOS通过方法调用的loading有吗?
1417浏览 • 1回复 待解决
HarmonyOS 是否有办法获取到全局的page show/hide事件?
817浏览 • 1回复 待解决
可以参考以下demo:
1、新建GlobalContext.ets工具类。
2、新建DialogUtils.ets工具类。
3、页面入口调用。