sessionStorage 应用在项目需求中和注意事项

12 篇文章 0 订阅

用法

  • 保存数据语法:
  sessionStorage.setItem("key", "value");
  • 读取数据语法:
var lastname = sessionStorage.getItem("key");
  • 删除指定键的数据语法:
sessionStorage.removeItem("key");
  • 删除所有数据:
sessionStorage.clear();

项目需求

项目中,有列表页,列表页中有搜索栏。列表页中还有新建,编辑等等跳转的页面。
现在需要在新建或编辑后,返回列表页后搜索栏中仍然有之前所填写的内容。

实现思路

1.在新建或编辑跳转前,保存当前的内容到sessionStorage
2.因为点击新建/编辑完成后会默认跳转回之前的列表页
当进入列表页时,获取之前存入的sessionStorage
3.获取到sessionStorage后,立即将其删除

后来发现如果点击导航栏进行跳转页面,会取到当前的sessionStorage。解决办法就是在导航栏的点击事件中加清除sessionStorage的操作。

更好的回填解决办法

更好的办法,我觉得就是把新建和编辑写成弹窗modal的样式,不进行跳转页面,这样既省了页面,也避免了因为需求导致的问题。前提是项目的需求允许进行这样的新建和编辑。

注意的问题!!!!

sessionStorage只能存字符串
所以在存对象的的时候要使用:

sessionStorage.setItem('seachPanel',JSON.stringify(this.seachPanel));

取的时候再转换一下:

JSON.parse(sessionStorage.getItem('seachPanel'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值