<template>
<div style="margin: 50px;">
<div v-for="(v,i) in arrList" :key="i">
<el-checkbox-group v-model="arrList[i].label" >
<el-checkbox v-for="(item, index) in data" :key="index" :label="item.label" @change="changeCheck($event,item.label,i)">
<div style="margin-bottom: 10px;">{{ item.label }}</div>
</el-checkbox>
</el-checkbox-group>
</div>
<el-button @click="add">添加</el-button>
</div>
</template>
<script>
export default {
data() {
return {
arrList:[
{
label:['不限']
}
],
data: [
{label: '不限'},
{label: '一级'},
{label: '二级'},
{label: '三级',}
],
}
},
methods: {
changeCheck(e,val,ind) {
if(e) {
if(val === '不限') {
this.arrList[ind].label = ['不限'];
}else {
const index = this.arrList[ind].label.findIndex(item => item === '不限');
if(index > -1) {
this.arrList[ind].label.splice(index,1);
}
}
if(this.arrList[ind].label.length>1) {
this.arrList[ind].label.shift()
}
}
},
add(){
let obj = {label:[ '不限']}
this.arrList.push(obj)
}
}
}
</script>
选中过的框怎么可以禁用
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 凉瓜拌面 2021-11-12 16:07关注
<template> <div style="margin: 50px;"> <div v-for="(v,i) in arrList" :key="i"> <el-checkbox-group v-model="arrList[i]"> <el-checkbox v-for="(item) in data" :key="item.id" :label="item.id" :disabled="computedDisable(item.id,i)" @change="changeCheck(item.id,i)" > <div style="margin-bottom: 10px;">{{ item.label }}</div> </el-checkbox> </el-checkbox-group> </div> <el-button @click="add">添加</el-button> </div> </template> <script> export default { data() { return { arrList: [ [0] ], data: [ { label: '不限' }, { label: '一级' }, { label: '二级' }, { label: '三级' } ] } }, created() { this.data = this.data.map((e, i) => { return { ...e, ...{ disable: false, id: i }} }) }, methods: { computedDisable(id, i) { if (this.arrList[i].includes(id)) { return false } return !!this.arrList.flat().includes(id) }, add() { this.arrList.push([]) } } } </script>
个人习惯不喜欢用中文做id,可以根据你需要改动
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 蓝牙耳机怎么查看日志
- ¥15 Fluent齿轮搅油
- ¥15 八爪鱼爬数据为什么自己停了
- ¥15 交替优化波束形成和ris反射角使保密速率最大化
- ¥15 树莓派与pix飞控通信
- ¥15 自动转发微信群信息到另外一个微信群
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏