网络编程 
首页 > 网络编程 > 浏览文章

基于Vue sessionStorage实现保留搜索框搜索内容

(编辑:jimmy 日期: 2024/11/7 浏览:3 次 )

最近遇到个需求:因为是后台管理系统,会频繁切换页面(路由),再次切换路由就重新加载页面了,重新输入条件很繁琐,需要保留搜索框的内容。(废话,看不同项目的不同需求吧)

保留搜索框内容:

利用sessionStorage来保存每次搜索框的内容。

后台管理系统的搜索栏除了筛选条件肯定还会有搜索按钮吧

基于Vue sessionStorage实现保留搜索框搜索内容

我的键名是根据我的页面路由名 + 'Stor'来取名的,这个拼接的'Stor'只是我个人用来区分此后缀的键名是存什么内容的,可按自己喜好来。

比如路由是carManage 键名就是carManageStor

因为不止一个页面要实现这个效果,在进入页面时要进行一次取值,拿浏览器存储中的数据:sessionStorage.getItem('键名')

为了好看,把获取的方法写到method里了,

getDefaultStor(routeName) {
  return sessionStorage.getItem(`${routeName}Stor`)
}

routeName参数的话看你自己的路由名啦,从this.$route里面拿。

清除缓存内容:

watch: {
  name(val) {
    if(!val) {
      sessionStorage.removeItem('键名') //键名的套路是一样的
    }   
  } 
}

还有一点是,如果当用户清除了输入框的内容,就把值清掉。

我的做法是通过监听输入框的name值来判断为空就清掉:

省事点的办法是直接监听name的变化,有值就sessionStorage.setItem(),没值就sessionStorage.removeItem()。

但是我感觉这样应该比较耗能,就没用这种偷懒的方式。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:5个你不知道的JavaScript字符串处理库(小结)
下一篇:微信小程序开发(一):服务器获取数据列表渲染操作示例
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。