获得徽章 7
- for (const key in labels) {
const label = labels[key]
if (checked[key]) {
const existingItem = updatedList.find(obj => obj.name === label)
if (!existingItem) {
updatedList.push({
name: label,
tableData:
state.checkedList.find(obj => obj.name === label)?.tableData || []
})
}
} else {
const index = updatedList.findIndex(obj => obj.name === label)
if (index !== -1) {
updatedList.splice(index, 1)
}
}
},大佬们,这段代码有没有什么优化思路!展开2点赞 - 孩子蒙了 求救!! 想实现当第一个选中的时候第二三四个禁选,当二三四其中只要有一个被选中那么第一个就禁选(一共四个多选框,由于字数限制被我删了后两个多选框)
<el-checkbox
v-model="checked.checked1"
label="Option 1"
size="large"
@change="handleCheckboxChange"
/>
<el-checkbox
v-model="checked.checked2"
label="Option 2"
size="large"
:disabled="disableCheckbox2"
/>
//多选
const disableCheckbox2 = computed(() => {
return checked.checked2 || checked.checked3 || checked.checked4
})
//多选
const handleCheckboxChange = () => {
if (checked.checked1) {
checked.checked2 = false
checked.checked3 = false
checked.checked4 = false
}
}展开赞过171
![[看]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_97.39cdc9f.png)
![[无辜呆]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_96.4fb9d71.png)