VueX的存储与使用缓存页面查询条件

当我们在列表页面查询数据后,跳转到详情页面,返回时查询条件还在怎么处理?

第一步:在vuex里新建一个对象用来保存查询条件。
在这里插入图片描述
在state:{}这个对象里增加一个变量 例如:

const state = {
     rateSettingQuery: {   // 需要缓存的查询条件
	      dateType:'',
	      name:'',
	      fileName:'',
	      number:'',
	      idCard:'',
	      userId:'',
	      status:['0','11','1'],
	      createTime:'',
	      currentPages:1,
	      pageSize:10,
	      currentIndex:0,
	
    },
}

第二部:在mutations:{}里面新加一个函数用来修改state里面的值,因为vuex里是不能直接修改的。

const mutations = {
  save_StorageQueryCriteria(state, value) {       // 页面在跳转时会把条件传过来
    state.rateSettingQuery.dateType = value.dateType
    state.rateSettingQuery.name = value.name
    state.rateSettingQuery.fileName = value.fileName
    state.rateSettingQuery.number = value.number
    state.rateSettingQuery.idCard = value.idCard
    state.rateSettingQuery.userId = value.userId
    state.rateSettingQuery.status = value.status
    state.rateSettingQuery.createTime = value.createTime
    state.rateSettingQuery.currentPages = value.currentPages
    state.rateSettingQuery.pageSize = value.pageSize
    state.rateSettingQuery.currentIndex = value.currentIndex
    state.rateSettingQuery.activeName = value.activeName
  },
}

以上2步vuex的准备工作就弄好了。

我们在页面跳转时只需把参数传过来就好了。
页面路由跳转示例:

viewfileCont(id){
      let newObj = {     // 需要缓存的参数用一个对象包起来
        dateType:this.waitsignForm.dateType,
        name:this.waitsignForm.name,
        fileName:this.waitsignForm.fileName,
        number:this.waitsignForm.number,
        idCard:this.waitsignForm.idCard,
        userId:this.userIds,
        status:this.signStatus,
        createTime:this.waitsignForm.createTime,
        currentPages:this.currentPage,
        pageSize:this.pageSize,
        currentIndex:this.currentIndex
      }
      // save_StorageQueryCriteria 这个方法就是mutations里的函数
      this.$store.commit("save_StorageQueryCriteria",newObj)

      this.$router.push({
        path: '/viewfiles', query: {
          id: id
        }
      })
    },

最后在新建一个函数用来回显数据

// 回显查询条件
    queryConditionsDisplayed(){
      let obj = this.$store.state.rateSettingQuery  // 把vueX里的数据取出来
      this.waitsignForm.dateType = obj.dateType
      this.waitsignForm.name = obj.name
      this.waitsignForm.fileName = obj.fileName
      this.waitsignForm.number = obj.number
      this.waitsignForm.idCard = obj.idCard
      this.waitsignForm.createTime = obj.createTime
      this.userIds = obj.userIds
      this.signStatus = obj.status
      this.currentPage=obj.currentPages;
      this.pageSize=obj.pageSize;
      this.currentIndex=obj.currentIndex;
      this.getListData();
    },

最后页面就能看到回显的数据了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值