【element-ui】element的checkbox更新绑定的组数时,原先v-model绑定为true的被保留了下来没有进行刷新?
如题,如何重置选中状态?
业务场景:选中表格第一条数据后切换装修位置重新请求接口,第一条数据还是选中状态,但这条数据的参数是false
表格代码:
<el-table :data="tableData" border highlight-current-row style="width: 100%;margin-bottom: 10px"> <el-table-column width="55" align="center">
<template scope="scope">
<el-checkbox :checked="scope.row.check" @change="handleSelectionChange(scope.row)"></el-checkbox>
</template>
</el-table-column>
<el-table-column prop="name" label="名称" align="center"></el-table-column>
<el-table-column prop="unit_name" label="单位" align="center"></el-table-column>
<el-table-column prop="color" label="颜色" align="center"></el-table-column>
<el-table-column label="数量" align="center" width="130">
<template scope="scope">
<el-input-number v-model="scope.row.nums" :min="0" style="width: 100%" size="small" @change="numberChange"></el-input-number>
</template>
</el-table-column>
</el-table>
有数据的情况下:
js代码:
//获取装修材料getUserGoodsList() {
let params = {
"access-token": this.token,
"classify_id": this.goodsType.position
}
getGoodsList(params).then(res => {
let _this = this
// console.log(res.data)
_this.tableData = res.data.items
if (_this.tableData) {
_this.tableData.forEach(item => {
item.check = false
})
}
})
}
//勾选
handleSelectionChange(row) {
if (row.check == true) {
row.check = false
} else {
row.check = true
}
},
回答:
表格上加一个table
属性
<el-table :data="tableData" border highlight-current-row v-if="table"> ···
</el-table>
获取数据的时候隐藏显示一下就刷新dom
视图加载了
//获取装修材料getUserGoodsList() {
let params = {···}
this.table = false
getGoodsList(params).then(res => {
···
this.table = true
})
}
回答:
这样写
_this.tableData = res.data.items
if (_this.tableData) {
_this.tableData.map((v,i) =>{
v.check = false
_this.tableData.$set(i, {
v: v
})
})
}
以上是 【element-ui】element的checkbox更新绑定的组数时,原先v-model绑定为true的被保留了下来没有进行刷新? 的全部内容, 来源链接: utcz.com/a/151658.html