element 只控制本行,不影响其他行(本次笔记包括:el-table和 el-checkbox)
需求:在操作本行的禁启用按钮,不影响其它行的。el-table
el-table的禁启用,代码如下:
forbidBtn(row,currentIndex){ //currentIndex为本行的index,控制不同行的
this.$set(this.UserManagementTableData[currentIndex],'isEdit',true);
this.$set(this.UserManagementTableData[currentIndex],'isForbid',false);
},
根据el-checkbox 的选中状态,控制el-checkbox-group的禁启用状态。
<div class="checkItem" v-for="(item,index) in citiesFor" :key="item.id">
<el-checkbox class="BothCheck" v-model="userIds" :label="item.id" :value="item.id" :key="item.id" @change="getAllUserIds($event,index)">{{item.typeName}}</el-checkbox>
<el-checkbox-group v-model="checkedCities1" @change="handleCheckedCitiesChange1()">
<el-checkbox :disabled="item.isDisabled" class="singleCheck" v-for="children in item.children" :label="children.id" :key="children.id">{{children.name}}</el-checkbox>
</el-checkbox-group>
</div>
data:
const cityOptions=[
{
typeName:'首页',
id: 30,
isDisabled:true,///<-----------重要
children:[
{name:'查看公告',id:36}
]
},
{
typeName:'成果库',
id:31,
isDisabled:true,
children:[
{name:'查看成果列表',id:37},
{name:'创建成果',id:38},
{name:'显示文库',id:39},
{name:'创建文库',id:40},
{name:'进入文库',id:41},
{name:'更新文件',id:42},
{name:'操作文件',id:43},
]
},
{
typeName:'我的成果',
id:32,
isDisabled:true,
children:[
{name:'查看成果列表',id:44},
{name:'创建成果',id:45},
{name:'显示文库',id:46},
{name:'创建文库',id:47},
{name:'进入文库',id:48},
{name:'更新文件',id:49},
{name:'操作文件',id:50},
]
},
{
typeName:'授权管理',
id:33,
isDisabled:true,
children:[
{name:'查看授权列表',id:51},
{name:'复制分享链接',id:52},
{name:'终止分享',id:53},
]
},
{
typeName:'文件操作',
id:34,
isDisabled:true,
children:[
{name:'预览',id:54},
{name:'下载',id:55},
{name:'重命名',id:56},
{name:'分享',id:57},
{name:'进入分享链接(被禁止后,不能查看分享文件)',id:58},
]
},
{
typeName:'个人中心',
id:35,
isDisabled:true,
children:[
{name:'更改昵称',id:59},
{name:'更改密码',id:60},
{name:'查看日志',id:61},
]
}
],
export default {
data() {
return {
citiesFor:cityOptions,
}
}
}
getAllUserIds(event,index){
if(event){
this.$set(this.citiesFor[index],'isDisabled',false)
}else{
this.$set(this.citiesFor[index],'isDisabled',true)
}
},
基本实现功能和el-table差不多。