iview中table组件实现选中一定行数后其他行不可被选中
主要使用Vue.$refs.table01.objData
功能要求:表中的数据最多只能选择其中的五条,当选中五条后其他没有被选中的行禁用
开始不能判断哪一行没有被选中,后来各种查找找到了方法this.$refs.table01.objData
(转为json对象)可以获取表格中的数据对象且其中有 _isChecked 属性.
上代码--------------------------------------------------------
// 获取对象且转为可读取可改变的json对象
let data01=JSON.parse(JSON.stringify(this.$refs.table01.objData));
//因为使用了分页且设置了pageSize每页显示条数所以可以根据这个循环判断
for(let i=0;i<this.pageSize;i++){
// 判断是否被选中
if(!data01[i]._isChecked){
// 没有被选中则将其中的禁用属性改为true
data01[i]._isDisabled=true;
}
}
// 最后在赋值给原对象
//!!!!!!注意 这里一定要给 试了好久都是数据变了但是不渲染才发现是没有重新赋值
this.$refs.table01.objData=data01;
完成!