HarmonyOS CustomDialogController内容丢失,只显示按钮

@Builder
inAppSettingsFullModeContent() {
  Column() {
    Text($r('app.string.open_full_services'))
  }
  .width('100%')
}

inAppSettingsFullModeDialogController: CustomDialogController = new CustomDialogController({
  builder: CustomContentDialog({
    contentBuilder: () => {
      this.inAppSettingsFullModeContent();
    },
    buttons: [{
      value: $r('app.string.cancel'),
      fontColor: $r('sys.color.ohos_id_color_text_primary_activated'),
      action: () => {
        AppStorage.setOrCreate('isDialog', true);
        AppStorage.setOrCreate('isOn', false);
        DialogUtils.resetSingleCardEdit()
        let count: number = AppStorage.get('cancelModeService') || 1;
        count++;
        AppStorage.setOrCreate('cancelModeService', count);
        return;
      }
    }, {
      value: $r('app.string.start_now'),
      fontColor: $r('sys.color.ohos_id_color_text_primary_activated'),
      action: () => {
        MyStorage.get().setData(getContext(this), 'Mode', 'modeService', 'full')
          .then(() => {
            MyStorage.get().getData(getContext(this), 'Application', 'isAgreeTMS')
              .then((value) => {
                if (value && value === 'true') {
                  AppStorage.setOrCreate('modeService', 'full');
                  AppStorage.setOrCreate('isOn', true);
                  DialogUtils.resetSingleCardEdit()
                } else {
                  AppStorage.setOrCreate('isOn', true);
                  DialogUtils.resetSingleCardEdit()
                  router.replaceUrl({ url: 'pages/privacyPage/NewPrivacyDeclare' });
                }
              })
          })
      }
    }]
  }),
  alignment: DialogAlignment.Center,
  autoCancel: false,
})
async aboutToDisappear() {
  if (this.modeService === 'base' && this.mCityDataSummaryList.length > 0) {
    let myStorage = new MyStorage();
    let lastTime: number = await myStorage.getData(getContext(this), 'Time', 'currentTime') as number;
    let newTime: number = new Date().getTime();
    if (newTime - lastTime > ServiceUtil.DEFAULT_SHOW_TIME) {
      ServiceUtil.updateTime(getContext(this));
      this.inAppSettingsFullModeDialogController.open()
      LOG.i(TAG,"changeFullMode Dialog begin")
    } else {
      return;
    }
  }
}

使用CustomDialogController内容不显示。

HarmonyOS
2025-01-09 16:47:07
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

弹窗在组件的aboutToDisappear方法中使用。子组件销毁,渲染异常。不要在aboutToDisappear生命周期中使用弹窗。

分享
微博
QQ
微信
回复
2025-01-09 18:24:46
相关问题
HarmonyOS SaveButton只显示图片
629浏览 • 1回复 待解决
HarmonyOS CustomDialogController显示
767浏览 • 1回复 待解决
HarmonyOS 地图加载不出来,只显示背景
1029浏览 • 1回复 待解决
HarmonyOS 如何只显示容器的一侧边框
690浏览 • 1回复 待解决
docker 查询日志如何只显示最近 10 行?
3461浏览 • 1回复 待解决
html sms标签跳转时丢失&符号后内容
3181浏览 • 1回复 待解决
HarmonyOS webloadData不显示内容
240浏览 • 1回复 待解决
HarmonyOS RichEditor 内容不居中显示
330浏览 • 1回复 待解决
HarmonyOS webview组件内容显示空白
273浏览 • 1回复 待解决