HarmonyOS 当destroy subwindow 的同时,直接用router跳转会没效果

HarmonyOS
22h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

CustomDialog在beta版本可以支持全局自定义弹窗,不依赖UI组件,依赖UIContext,支持在非页面文件中使用参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-arkui-uicontext-V5#opencustomdialog12

参考Demo:

// EntryAbility.ets
onWindowStageCreate(windowStage: window.WindowStage): void {
  ...
  AppStorage.setOrCreate('windowStage', windowStage);
}

// xxx.ets
import { ComponentContent, window } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit';
class Params {
  text: string = ""
  constructor(text: string) {
    this.text = text;
  }
}
@Builder
function buildText(params: Params) {
  Column() {
    Text(params.text)
      .fontSize(50)
      .fontWeight(FontWeight.Bold)
      .margin({bottom: 36})
  }.backgroundColor('#FFF0F0F0')
}
export function showDialog(){
  let windowStage: window.WindowStage = AppStorage.get('windowStage') as window.WindowStage
  let windowClass: window.Window = windowStage.getMainWindowSync(); // 获取应用主窗口
  let uiContext = windowClass.getUIContext();
  let promptAction = uiContext.getPromptAction();
  let contentNode = new ComponentContent(uiContext, wrapBuilder(buildText), new Params('message'));
  try {
    promptAction.openCustomDialog(contentNode);
  } catch (error) {
    let message = (error as BusinessError).message;
    let code = (error as BusinessError).code;
    console.error(OpenCustomDialog args error code is ${code}, message is ${message});
  };
}
分享
微博
QQ
微信
回复
19h前
相关问题
HarmonyOS 全局设置字体没效果
24浏览 • 1回复 待解决
HarmonyOS grid组件auto-fit没效果
467浏览 • 1回复 待解决
HarmonyOS router跳转与navigation跳转
27浏览 • 1回复 待解决
HarmonyOS router跳转问题
543浏览 • 2回复 待解决
HarmonyOS router路由跳转问题
525浏览 • 0回复 待解决
HarmonyOS Navigation和router怎么
69浏览 • 1回复 待解决
HarmonyOS router无法跳转,并报错。
591浏览 • 1回复 待解决
Web拦截不到vuerouter跳转
1568浏览 • 0回复 待解决
HarmonyOS 跳转方式Router和Navigator
441浏览 • 1回复 待解决
router 路由跳转相关问题
374浏览 • 1回复 待解决