HarmonyOS 有subwindow的情况下跳转到了其他subwindow上了

HarmonyOS
2024-12-24 16:34:10
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

采用router跳转页面的时候是全局性的并没有和某个ui实例绑定,在多实例场景下使用比较混乱导致实例获取接口行为不一致。推荐使用this.getUIContext().getRouter().pushNamedRoute,示例如下:

import { display, router } from '@kit.ArkUI';
import LJWaterMarkWindow from '../entryability/WindowManager';
import { requestPermission } from './Permission';

@Entry
@Component
struct Index {
  @State message: string = '请求权限后,跳转下一个页面';
  windowWidth: number = display.getDefaultDisplaySync().width;
  windowHeight: number = display.getDefaultDisplaySync().height;

  aboutToAppear(): void {
    LJWaterMarkWindow.showWaterWindowWithWindowStage()
  }

  middleMethod(): Promise<void> {
    return new Promise((res) => {
      // res();
      setTimeout(res, 2000)
    })
  }

  build() {
    Column({ space: 20 }) {
      Text(this.message).onClick(() => {
        requestPermission().then(() => {
          this.middleMethod().then(() => {
            this.getUIContext().getRouter().pushNamedRoute({ name: 'second' })
          })
        })
      })
    }
    .justifyContent(FlexAlign.Center)
    .height('100%')
    .width('100%')
  }
}
分享
微博
QQ
微信
回复
2024-12-24 19:36:53
相关问题
HarmonyOS subWindow如何加载UI
49浏览 • 1回复 待解决
HarmonyOS subwindow问题
108浏览 • 1回复 待解决
如何监听subwindow生命周期
567浏览 • 1回复 待解决
HarmonyOS 如何设置SubWindow背景颜色
218浏览 • 1回复 待解决
HarmonyOS 手机静音情况下,无法震动
217浏览 • 1回复 待解决
ForEach什么情况下会触发复用
901浏览 • 2回复 待解决