项目的el-table中有下拉框组件,选中不同的下拉框分值各不相同,需要计算各个table中下拉框总分值。然后遇到了一点问题,各个table的总分值第一次计算正常,改动任何一个table中的下拉框,其他的总分值也跟着改变。所以想请教大佬帮忙看一下代码应该如何修改。可能表述的不够清楚。
这个是页面的table的
这是computed中的代码。this.fieldControlTableList是最外层数据,里面有三个table,然后循环。items.ItemsContentBodys是table的数据,item.ContentScore这是得分的数据。
prodectionCalc() {
let count = 0;
for (let items of this.fieldControlTableList) { //循坏最外层的多个table
for (let item of items.ItemsContentBodys) { //循环table中的得分
count += item.ContentScore //将得分追加到count变量中
}
console.log(count)
items.count = count //添加count属性,将变量count保存
}
console.log(this.fieldControlTableList);
return this.fieldControlTableList
},
这是this.fieldControlTableList数组中第0项的数据结构。
这是template中的代码
<h3 class="text-r">生产控制能力总分:<span>{{prodectionCalc[index].count}}</span>分</h3>
页面刷新第一次计算的得分正确,但修改其中一个select,其他的总分值也会跟着改,想请教一下需要怎么修改
又看了一下,除了第一项总分都是错的,不能删除我自己先看一下好了,不好意思
解决了,内循环一次没有清0造成的,改成这样就可以了
prodectionCalc() {
this.fieldControlTableList.forEach((items,index) =>{
let count = 0
for(let item of items.ItemsContentBodys){
count += item.ContentScore;
items.count = count;
}
})
return this.fieldControlTableList;
},