HarmonyOS 基于Navigation的路由管理替换Router首页偶现异常动画

Navigation替换router,使用Navigation容器包裹原有实现,首页打开存在偶现左上角扩展开的动画效果,10-20%的复现概率。

伪代码:

Navigation(this.pageStack) {  
    Column() {  
      pageone();  
    }  
  }  
pageone:  
  NavDestination() {  
    Column() {  
    }  
  }  
aboutToAppear(): void {  
       this.pageStack.clear();  
    this.pageStack.replacePathByName('HomePage', false);  
}
HarmonyOS
2024-10-14 10:04:48
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以参考如下demo:

@Entry  
@Component  
struct Index {  
  @Provide('pageInfo') pageInfo: NavPathStack = new NavPathStack()  
  @State message: string = '做一个简单的测试'  
  @Builder  
  PageMap(name: string) {  
    if (name === 'pageTwo') {  
      pageTwoTmp({ names: name, values: this.pageInfo } as Pages)  
    } else if (name === `dialog`) {  
       }  
  }  
  build() {  
    Navigation(this.pageInfo) {  
      Column() {  
        Text(this.message)  
        Button('打开pageTwo', { stateEffect: true, type: ButtonType.Capsule })  
          .width('80%')  
          .height(40)  
          .margin(10)  
          .onClick(() => {  
            this.pageInfo.pushPathByName('pageTwo', undefined);  
          })  
      }  
    }.title('NavIndex').navDestination(this.PageMap)  
  }  
}  
  
// PageTwo.ets  
export class Pages {  
  names: string = ""  
  values: NavPathStack | null = null  
}  
@Builder  
export function pageTwoTmp(info: Pages) {  
  NavDestination() {  
    Column() {  
      Text("测试")  
    }.width('100%').height('100%')  
  }.title('pageTwo')  
  .onBackPressed(() => {  
    (info.values as NavPathStack).pop();  
    return true;  
  })  
}
分享
微博
QQ
微信
回复
2024-10-14 17:43:01
相关问题
router.back调用时,app自动退出
1840浏览 • 1回复 待解决
HarmonyOS router路由管理
89浏览 • 1回复 待解决
HarmonyOS media.AVPlayer报错
161浏览 • 1回复 待解决
HarmonyOS app图标显示错误
258浏览 • 1回复 待解决
HarmonyOS 接口返回空字段
143浏览 • 1回复 待解决
HarmonyOS 视频播放 5400106 错误码
262浏览 • 1回复 待解决
HarmonyOS 在entry里替换首页
262浏览 • 1回复 待解决
HarmonyOS ArkTS调C++ 方法找不到。
759浏览 • 1回复 待解决
HarmonyOS 首页下拉刷新异常
472浏览 • 1回复 待解决
HarmonyOS router回退异常
143浏览 • 1回复 待解决