#鸿蒙通关秘籍#如何在HarmonyOS Next中使用Navigation.Dialog实现自定义弹窗效果

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
PVT流星赶月

在HarmonyOS Next中,通过使用Navigation.Dialog可以实现自定义弹窗效果。首先,需基于Navigation.Dialog的透明页面特性实现弹窗效果,还可以通过将它加入路由栈,从而自然地实现页面切换时弹窗不消失的效果。

初始配置代码如下:

export class AppRouter {
  private static instance = new AppRouter();
  private pathStack: NavPathStack = new NavPathStack();

  public static getInstance(): AppRouter {
    return AppRouter.instance;
  }

  public getPathStack(): NavPathStack {
    return this.pathStack;
  }
}

在根页面中注册:

@Entry
@Component
struct Index {
  build() {
    Navigation(AppRouter.getInstance().getPathStack()) {
      ...
    }
  }
}

通过.navDestination注册自定义的弹窗组件:

@Builder
PageMap(name: string) {
  if (name === CommonConstants.DEFAULT_DIALOG) {
    DefaultDialog()
  }
  ...
}

Navigation(AppRouter.getInstance().getPathStack()) {
  ...
}.navDestination(this.PageMap)
分享
微博
QQ
微信
回复
7天前
相关问题
如何在全局实现一个自定义dialog弹窗
2808浏览 • 1回复 待解决
使用自定义弹窗实现分享弹窗
556浏览 • 1回复 待解决