关于循环出来的el-table组件计算分值的问题。

项目的el-table中有下拉框组件,选中不同的下拉框分值各不相同,需要计算各个table中下拉框总分值。然后遇到了一点问题,各个table的总分值第一次计算正常,改动任何一个table中的下拉框,其他的总分值也跟着改变。所以想请教大佬帮忙看一下代码应该如何修改。可能表述的不够清楚。

这个是页面的table的

clipboard.png

这是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项的数据结构。
clipboard.png

这是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;
},
阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题