• openharmony容器组件之Navigator


    Navigato:路由容器组件,提供路由跳转能力
    Navigator(value?: {target: string, type?: NavigationType})
            target:指定跳转目标页面的路径。
            type:指定路由方式(默认:NavigationType.Push)
                        NavigationType
                            Push:跳转到应用内的指定页面
                            Replace:用应用内的某个页面替换当前页面,并销毁被替换的页面
                            Back:返回上一页面或指定的页面
    属性:
    active:当前路由组件是否处于激活状态,处于激活状态时,会生效相应的路由操作
    params:跳转时要同时传递到目标页面的数据,可在目标页面使用router.getParams()获得

    效果:

     

    代码:

    NavigatorPage.ets

    1. @Entry
    2. @Component
    3. struct NavigatorPage {
    4. @State active: boolean = false
    5. @State Text: string = '哈哈哈'
    6. build() {
    7. Column() {
    8. Navigator({ target: 'pages/NavigatorDetailPage', type: NavigationType.Push }) {
    9. Text('携带参数(params:' + this.Text + ')跳转下一页面').width('100%').textAlign(TextAlign.Center).margin({ top: 20, bottom: 20 })
    10. }
    11. //携带参数跳转
    12. .params({ text: this.Text })
    13. Navigator() {
    14. Text('back to previous page').width('100%').textAlign(TextAlign.Center)
    15. }.active(this.active).onClick(() => {
    16. this.active = true
    17. })
    18. }
    19. .width('100%')
    20. .height('100%')
    21. }
    22. }

    NavigatorDetailPage.ets

    1. import router from '@system.router'
    2. @Entry
    3. @Component
    4. struct NavigatorDetailPage {
    5. //获取上一个页面携带的数据
    6. @State content: string = router.getParams().text.toString()
    7. build() {
    8. Column() {
    9. Navigator({ target: 'pages/NavigatorBackPage', type: NavigationType.Push }) {
    10. Text('go to back').width('100%').height(30).textAlign(TextAlign.Center)
    11. }
    12. Text('接收参数:' + this.content).width('100%').textAlign(TextAlign.Center)
    13. }
    14. .width('100%')
    15. .height('100%')
    16. }
    17. }

    NavigatorBackPage.ets

    1. @Entry
    2. @Component
    3. struct NavigatorBackPage {
    4. @State message: string = 'Hello World'
    5. build() {
    6. Column() {
    7. // type: NavigationType.Back返回指定页面
    8. Navigator({ target: 'pages/NavigatorPage', type: NavigationType.Back }) {
    9. Text('return to Navigator page').width('100%').textAlign(TextAlign.Center)
    10. }
    11. }
    12. .width('100%')
    13. .height('100%')
    14. }
    15. }

  • 相关阅读:
    【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框
    flutter 版本更新
    Java虚拟机:Java模块化系统
    leetcode1297. 子串的最大出现次数
    yolov6-onnx + opencv-DNN
    vue使用tinymce(新增字数限制)
    java创建对象的五种方式
    Hadoop启动缺失ResourceManager
    游戏中的各种简单实现方案
    【spring】SpringBoot与SpringCloud的版本对应
  • 原文地址:https://blog.csdn.net/lplj717/article/details/126260958