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有什么方案吗
166浏览 • 1回复 待解决
HarmonyOS 全局loading
148浏览 • 1回复 待解决
HarmonyOS 有提供全局的loading加载框吗?
132浏览 • 1回复 待解决
HarmonyOS 全局的loading组件
466浏览 • 1回复 待解决
HarmonyOS 全局loading的实现方案
40浏览 • 1回复 待解决
HarmonyOS 全局loading的菊花如何实现?
578浏览 • 1回复 待解决
HarmonyOS 没有全局的api loading动画
563浏览 • 1回复 待解决
HarmonyOS 如何在全局使用loading组件?
920浏览 • 1回复 待解决
HarmonyOS是否有刻度控件
219浏览 • 1回复 待解决
HarmonyOS 是否有提供系统默认的loading组件
156浏览 • 1回复 待解决
HarmonyOS 是否有类似fastjson这种JSON库
330浏览 • 1回复 待解决
HarmonyOS 是否有全局粘贴的功能
286浏览 • 1回复 待解决
HarmonyOS是否有全局打印的服务
583浏览 • 1回复 待解决
HarmonyOS 请问如何实现全局添加loading加载框
168浏览 • 1回复 待解决
HarmonyOS 视频压缩以及请求全局loading
66浏览 • 1回复 待解决
HarmonyOS 是否有全局浮动组件的代码示例?
480浏览 • 1回复 待解决
HarmonyOS Image控件加载图片是否有缓存机制?
101浏览 • 1回复 待解决
HarmonyOS 怎么实现一个全局随处可以调用的loading?
586浏览 • 1回复 待解决
HarmonyOS 是否有类似popupWindow的控件,能从底部滑出
37浏览 • 1回复 待解决
HarmonyOS 是否有支持gif图循环播放的控件?
138浏览 • 1回复 待解决
HarmonyOS 是否有自带吸顶效果的UI控件
123浏览 • 1回复 待解决
HarmonyOS 有没有控件可以实现这种读书翻页的效果
188浏览 • 1回复 待解决
HarmonyOS 使用SubWindow 创建的全局Loading框 不是调用时立即出现
174浏览 • 1回复 待解决
HarmonyOS通过方法调用的loading有吗?
597浏览 • 0回复 待解决
HarmonyOS是否有办法获取某个控件的父组件对象?
490浏览 • 1回复 待解决
可以参考以下demo:
1、新建GlobalContext.ets工具类。
2、新建DialogUtils.ets工具类。
3、页面入口调用。