如何使用Vue和sessionStorage实现搜索框内容的持久化存储?
- 内容介绍
- 文章标签
- 相关推荐
本文共计524个文字,预计阅读时间需要3分钟。
最近遇到一个需求:因为后台管理系统,会频繁切换页面(路由),再次切换路由时,页面会重新加载,导致重新输入条件很繁琐,需要保留搜索框的内容。
最近遇到个需求:因为是后台管理系统,会频繁切换页面(路由),再次切换路由就重新加载页面了,重新输入条件很繁琐,需要保留搜索框的内容。(废话,看不同项目的不同需求吧)
保留搜索框内容:
利用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('键名') //键名的套路是一样的 } } }
还有一点是,如果当用户清除了输入框的内容,就把值清掉。
本文共计524个文字,预计阅读时间需要3分钟。
最近遇到一个需求:因为后台管理系统,会频繁切换页面(路由),再次切换路由时,页面会重新加载,导致重新输入条件很繁琐,需要保留搜索框的内容。
最近遇到个需求:因为是后台管理系统,会频繁切换页面(路由),再次切换路由就重新加载页面了,重新输入条件很繁琐,需要保留搜索框的内容。(废话,看不同项目的不同需求吧)
保留搜索框内容:
利用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('键名') //键名的套路是一样的 } } }
还有一点是,如果当用户清除了输入框的内容,就把值清掉。

