问题:比如删除第四次服务,第一列显示的次数顺序就会缺少4,排列为1、2、3、5、6、7
最终效果:删除中间任意一条,排序依然正常排序
思路:
点击任意删除,获取到当前点击条数的下标,将一整个数组拆分为两个数组。
数组b
为从第一条数据到所点击删除之前的。
数组arr
为点击删除到最后一条数据
点击删除之后将arr数组中第几次服务的第几次全部-1,达到序列正常的效果。然后再将数组a
与arr
push进所循环的数组
代码片段
HTML部分
englistRemove(index){ // 删除其中一条
console.log(index,'删除条数的下标');
this.engineerList.splice(index,1) //删除一条
let end = this.engineerList.length // 得到最后一条
// console.log("使用_.slice方法截取数组,需要获取截取的第一位与最后一位");
let arr = _.slice(this.engineerList, index, end) // 将点击删除处到最后一条从数组中截取出来
arr.forEach(e => { // 循环遍历点击删除之后的数组,将其中的次数全部-1
e.servicesNum -=1
})
let b = _.slice(this.engineerList, 0, index) // 将点击第一条到删除处 从数组中截取出来
this.engineerList = [...b,...arr] // 将处理过的数组解构赋值给原数组
if(this.engineerList.length > 0){ // onedes 将次数数组传给接口
this.onedes = this.engineerList[this.section1-1].servicesNum+1
}
if (this.section1==0) { // 将次数数组传给接口
this.onedes = 1
}
},