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组件
299浏览 • 1回复 待解决
HarmonyOS 没有全局的api loading动画
410浏览 • 1回复 待解决
HarmonyOS 如何在全局使用loading组件?
702浏览 • 1回复 待解决
HarmonyOS 全局loading的菊花如何实现?
403浏览 • 1回复 待解决
HarmonyOS是否有全局打印的服务
437浏览 • 1回复 待解决
HarmonyOS 是否有全局浮动组件的代码示例?
276浏览 • 1回复 待解决
HarmonyOS 怎么实现一个全局随处可以调用的loading?
479浏览 • 1回复 待解决
HarmonyOS 有没有控件可以实现这种读书翻页的效果
32浏览 • 1回复 待解决
HarmonyOS是否有办法获取某个控件的父组件对象?
268浏览 • 1回复 待解决
HarmonyOS通过方法调用的loading有吗?
427浏览 • 0回复 待解决
HarmonyOS 是否有办法获取到全局的page show/hide事件?
30浏览 • 1回复 待解决
HarmonyOS 是否有类似商品名,前面包含图标组合控件?
274浏览 • 1回复 待解决
ArkTS是否有全局强制切换线程执行和调度的接口
2290浏览 • 1回复 待解决
HarmonyOS App间跳转是否支持URLScheme这种形式?
265浏览 • 1回复 待解决
HarmonyOS是否具备calc()这种动态计算的属性?
660浏览 • 1回复 待解决
HarmonyOS 有table表格控件吗
19浏览 • 1回复 待解决
HarmonyOS 拖拽排序以及控件平移效果是否有工具类可以用,当前控件数据数量上限无法满足
15浏览 • 1回复 待解决
HarmonyOS 设置字体有全局方法吗?
277浏览 • 1回复 待解决
全局置灰相关问题,开启与关闭全局灰,是否有 api 可以直接调用,或者提供实现方法
343浏览 • 1回复 待解决
HarmonyOS是否有提供获取组件名的api以及页面create/destroy的全局监听?
321浏览 • 1回复 待解决
@Extend @Styles 这种声明成全局的,怎么样才能在别的文件中也是用这个全局样式呢
422浏览 • 1回复 待解决
refresh组件的刷新loading图标是否支持固定位置?
967浏览 • 1回复 待解决
Refresh组件的刷新loading图标是否支持固定位置
1984浏览 • 1回复 待解决
HarmonyOS Loading提示插件问题
700浏览 • 1回复 待解决
refresh组件的刷新loading图标是否支持固定位置?
592浏览 • 1回复 待解决
可以参考以下demo:
1、新建GlobalContext.ets工具类。
2、新建DialogUtils.ets工具类。
3、页面入口调用。