如何实现对Page页面数据的保留

我们有一个场景,需要将当前页面保留下来,下次打开,依然是此页面。

比如,首页Index,需要保存的页面AIndex -> 打开 AA退出-> 回到Index, 此时需要保留A的信息Index -> 再打开A,依然显示之前的A页面,包括上面已修改的信息如何实现?

HarmonyOS
2024-04-27 23:29:05
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
sslijun

可以通过Index保存页面A的数据,下次打开页面A加载保存的数据即可,参考代码:

import DetailPage from 'page页路径' 
 
@Entry 
@Component 
struct NavigationDemo { 
  @Provide('pathInfo') pathInfo: NavPathStack = new NavPathStack() 
  // 保存DetailPage数据 
  @State detailInfo: string = '我是index初始化info' 
 
  @Builder 
  NavPathStack() { 
    Column() { 
      Text('menu') 
        .fontColor('#182431') 
        .fontSize(14) 
        .lineHeight(19) 
        .opacity(0.4) 
        .margin({ top: 30 }) 
    } 
    .alignItems(HorizontalAlign.Start) 
  } 
 
  // Navigation的navDestination属性方法设置的构造函数,在路由栈变化时触发该构建数创建新的路由页面 
  @Builder 
  myRouter(name: string, param: string) { 
    DetailPage(dataObj) 
  } 
 
  build() { 
    Column() { 
      Navigation(this.pathInfo) { 
        TextInput({ placeholder: 'search…' }) 
          .width('90%') 
          .height(40) 
          .margin({ bottom: 10 }) 
        List({ space: 12, initialIndex: 0 }) { 
          ListItem() { 
            // 通过NavDestination定义导航目标界面,界面之间通过组件间的状态变量或者普通变量传递参数 
            // NavRouter点击之后会传递name和param参数给Navigation的navDestination属性方法设置的builder函数(myRouter) 
            NavRouter({ name: '方式一进入', param: '' + 0 }) { 
              Row() { 
                Column() { 
                  Text('导航一级页面') 
                    .fontSize(16) 
                    .lineHeight(21) 
                    .fontWeight(FontWeight.Medium) 
                } 
                .alignItems(HorizontalAlign.Start) 
 
                Blank() 
                Row() 
                  .width(15) 
                  .height(15) 
                  .margin({ right: 12 }) 
                  .border({ 
                    width: { top: 2, right: 2 }, 
                    color: 0xcccccc 
                  }) 
                  .rotate({ angle: 45 }) 
              } 
              .borderRadius(15) 
              .shadow({ radius: 100, color: '#ededed' }) 
              .width('90%') 
              .alignItems(VerticalAlign.Center) 
              .padding({ left: 16, top: 12, bottom: 12 }) 
              .height(80) 
              .backgroundColor(Color.White) 
            } 
          } 
        } 
      } 
    } 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
分享
微博
QQ
微信
回复
2024-04-28 20:59:23
相关问题
HarmonyOS 如何page页面设置透明
1500浏览 • 1回复 待解决
如何实现page页面的横竖屏切换
1374浏览 • 1回复 待解决
HarmonyOS 如何实现半透明Page
857浏览 • 1回复 待解决
HarmonyOS page如何监听数据变化
813浏览 • 1回复 待解决
应用卸载时如何保留用户数据
2382浏览 • 1回复 待解决
如何实现LocalStorage实时监听?
1090浏览 • 1回复 待解决
HarmonyOS page页面的问题
781浏览 • 1回复 待解决
page页面关闭能关闭指定页面么?
1250浏览 • 1回复 待解决
如何实现page界面的预渲染?
1026浏览 • 1回复 待解决
如何实现页面加载前从接口获取数据
3412浏览 • 1回复 待解决
HarmonyOS page页面如何设置半透明效果
698浏览 • 1回复 待解决
page页面如何设置为横屏显示
2386浏览 • 1回复 待解决
如何JSON数据进行解析优化
1528浏览 • 1回复 待解决
ability被异常杀后数据保留怎么弄?
5761浏览 • 1回复 待解决