某条数据变更后只改变那一条数据,而不是重新加载整个列表

后台管理系统一般都会有增删改查等操作,假如一个页面存放八条数据,现在对第三条数据进行变更,变更完成后要刷新数据,有两种方案:

  1. 数据变更完成后调用查询列表的接口对整个列表进行刷新;
  2. 只刷新数据列表中要变更的那一条数据,不需要调用查询列表的接口重新加载整个列表;

虽然两种方法都可以达到目的,但是第一种方法因为要调接口,显然更耗性能,这里着重说一下第二种方法。

  1. 在state中定义一个数组dataList用来存放列表数据,定义一个对象modifyForm用来存放需要变更的数据;
state:{
	dataList:[],
	modifyForm:{}
}
  1. 在vuex中定义一个方法changeDataList用来改变数据,确定变更时调用;
this.changeDataList(this.modifyForm)
  1. 确定变更会将需要变更的那条数据对象提交给vuex,然后找到dataList中原来的那条数据进行更改,这样就可以实现局部刷新了
changeDataList(state, value) {
	  var obj = state.dataList.find(item => {
	    return item.id == value.id;
	  })
	  obj.name= value.name;
	  obj.age= value.age;
	  obj.province= value.province;
}
Logo

前往低代码交流专区

更多推荐