HarmonyOS 鸿蒙Next中弹窗操作完毕以后如何刷新主page?

HarmonyOS 鸿蒙Next中弹窗操作完毕以后如何刷新主page?

ShowWindowLogin: CustomDialogController = new CustomDialogController({ builder: ShowWindowLogin(), alignment: DialogAlignment.BottomStart, width:‘100%’, height:‘100%’, customStyle: true });

我用ShowWindowLogin.open() 打开弹窗以后 比如登录用户账户 登录完毕关闭弹窗后 主界面page 如何刷新啊?

有没有ios里面的NSNotificationCenter这种通知机制啊? 登录完毕后发起通知然后主界面进行刷新操作的?


更多关于HarmonyOS 鸿蒙Next中弹窗操作完毕以后如何刷新主page?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

更多关于HarmonyOS 鸿蒙Next中弹窗操作完毕以后如何刷新主page?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


非常感谢 我现在在弹窗定义了一个回调 在主page使用。 这个监听我再看看。。。

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

没用过这个探窗,不过这种应该都有回调事件吧有的话直接router。或者watch一个变量,变了就router。不过登陆这种的一般都是搞个状态存储,有责跳至主页面无则跳至登陆页,

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

非常感谢 我现在找了个回调处理。

ShowWindowLogin: CustomDialogController = new CustomDialogController({ builder: ShowWindowLogin({ cancel: () => { this.onCancel(); } }), alignment: DialogAlignment.BottomStart, width: ‘100%’, height: ‘100%’, customStyle: true });

https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-282-V5

在HarmonyOS鸿蒙Next中,弹窗操作完毕后刷新主页面可以通过以下步骤实现:

  1. 定义状态变量:在主页面中定义一个状态变量,用于控制页面的刷新逻辑。
  2. 弹窗回调:在弹窗操作完毕后,通过回调函数通知主页面进行刷新。
  3. 状态更新:在主页面中监听状态变量的变化,当状态变量更新时,触发页面的刷新操作。

具体代码示例如下:

// 主页面
@Entry
@Component
struct MainPage {
  @State refreshFlag: boolean = false;

  build() {
    Column() {
      // 页面内容
      Text('Main Page Content')
        .onClick(() => {
          // 打开弹窗
          this.openDialog();
        });

      if (this.refreshFlag) {
        // 刷新逻辑
        Text('Page Refreshed');
      }
    }
  }

  openDialog() {
    // 弹窗组件
    Dialog.show({
      title: 'Dialog Title',
      message: 'Dialog Message',
      actions: [
        {
          text: 'Confirm',
          action: () => {
            // 弹窗确认后更新状态变量
            this.refreshFlag = true;
          }
        }
      ]
    });
  }
}

在上述代码中,refreshFlag状态变量用于控制页面的刷新逻辑。当弹窗操作完毕后,通过更新refreshFlag变量来触发主页面刷新。

在HarmonyOS(鸿蒙Next)中,弹窗操作完毕后刷新主页面可以通过以下步骤实现:

  1. 使用postAction方法:在弹窗的onDismiss回调中,调用主页面的postAction方法,触发主页面刷新逻辑。

  2. 事件总线(EventBus):通过事件总线发布刷新事件,主页面监听该事件并执行刷新操作。

  3. 回调函数:在弹窗关闭时调用回调函数,主页面实现该回调函数并执行刷新操作。

  4. 数据绑定:如果主页面使用了数据绑定,可以直接更新数据源,页面会自动刷新。

选择适合你应用场景的方法即可。

回到顶部