zoukankan      html  css  js  c++  java
  • Vue 保留搜索框的搜索内容(sessionStorage)

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

    保留搜索框内容:

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

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

    比如:输入框v-model绑定的值是name
    当用户点击“查询/搜索”按钮时,就把搜索框的内容name存到浏览器内存中
    sessionStorage.setItem('键名', name) //使用详见文档

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

    比如路由是carManage 键名就是carManageStor

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

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

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

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

    清除缓存内容:

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

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

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

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

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

    大概就是这样子..

     

  • 相关阅读:
    oracle 常用SQL
    ActiveMQ持久化方式
    集中队列的模式
    EDA: Event-Driven Architecture事件驱动架构
    ActiveMQ消息队列介绍
    Nginx 用log_format设置日志格式
    log4j的ConversionPattern参数的格式含义
    真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
    Java的注解机制——Spring自动装配的实现原理
    java interface 默认值
  • 原文地址:https://www.cnblogs.com/jinfengJeff/p/12985706.html
Copyright © 2011-2022 走看看