vue.js - 使用 v-for 将 Vue 复选框组绑定到嵌套对象
问题描述
我在 Vue 中有一个嵌套数据集,我想绑定到几个复选框组。代码如下(这里是jsfiddle):
<div id="app">
<b-form-checkbox-group
v-model="checked"
v-for="(opts, key) in optGroups"
:key="key"
v-model="checked[key]"
>
<button @click="checkAll(key)">Check All</button>
<b-form-checkbox
v-for="opt in opts"
:key="opt.value"
:value="opt.value"
>{{ opt.text }}</b-form-checkbox>
</b-form-checkbox-group>
</div>
new Vue({
el: '#app',
data: {
optGroups: {
g1: [
{ value: 'val1', text: 'value 1' },
{ value: 'val2', text: 'value 2' },
{ value: 'val3', text: 'value 3' }
],
g2: [
{ value: 'val4', text: 'value 4' },
{ value: 'val5', text: 'value 5' },
{ value: 'val6', text: 'value 6' }
]
},
checked: {
g1: ['val1'],
g2: []
}
},
methods: {
checkAll(groupKey) {
this.checked[groupKey] = this.optGroups[groupKey].map(
opt => opt.value
);
}
}
})
我希望复选框尊重checked
对象中设置的值。在启动时。我希望 easchCheck All
按钮检查其组中的所有框。
解决方案
删除 -this 中的第二个v-model
指令。b-form-checkbox-group
v-model="checked"
推荐阅读
- java - 在 Java 中使用 SQL 数据库
- javascript - Discord.js v13 在一定时间后删除消息
- python - Pandas:基于预定义类别的字符串列创建二进制列(虚拟/单热编码表)
- python-3.x - Python:二叉树防止空索引
- c - 编译 C 代码时,终端正好两次显示相同的错误
- blockchain - 从网页上传数据到 IPFS
- audio - 将音乐同步到基于帧的时间
- python - Python:从重复的行中获取特定的行
- sql - 根据日期计数记录,例如 0 到 7 天、7 到 14 天和 14 到 28 天
- php - 上传到服务器后找不到错误 404 页面 codeigniter 4