vue 一个数组对象,一个数组,数组对象中包含数组中的数据,给数组对象中增加属性

项目中遇到一个需求,后台返回一个list数据,然后给了一个id数组,如果id在list中能匹配上,给list中的id相等的数据增加状态。

实现代码如下:

<VTable
    :data="tableDataComp"
    :columnList="columnList"
    stripe
    class="function-list"
    @handleBtnClick="handleBtnClick"
>
    <el-table-column slot="slotCol" label="操作" width="150px">
        <template slot-scope="scope">
            <el-button
                type="text"
                v-if="scope.row.assigned"
                @click="addOrCancelAssigned(scope.row, 'dataCancel')"
            >取消分配</el-button>
            <el-button
                type="text"
                v-if="!scope.row.assigned"
                @click="addOrCancelAssigned(scope.row, 'dataAdd')"
            >分配</el-button>
        </template>
    </el-table-column>
</VTable>
data(){
    return{
        tableData: [], // 具体数据是从后台接口获取的
        roleData: [] // 具体数据是从后台接口获取的
    }
},
computed: {
    tableDataComp(){
      const roleDataObj = {}
      this.roleData.map(item=> {
        roleDataObj[item] = true
      })
      console.log(roleDataObj)
      this.tableData.forEach(i => {
        this.$set(i,'assigned',roleDataObj[i.dataId])
      })
      return this.tableData;
    }
}

tableData数据如下

roleData数据如下:

 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值