我有一个复选框组,其中包含21个绑定到数组的复选框。目前他们都是默认情况下取消选中,但我希望他们都被选中。查看文档,似乎**checked=“true”**方法仅在使用单个复选框时有效。当它是一个复选框组时,我如何实现这一点?
<b-row>
<b-col lg="2" class="mb-3">
<b-form-checkbox-group stacked v-if="selectedPropertyId && tableLayout" v-model="visibleFieldKeys" :options="fields.slice(0,7)" text-field="label" value-field="key" inline/>
</b-col>
<b-col lg="2" class="mb-3">
<b-form-checkbox-group stacked v-if="selectedPropertyId && tableLayout" v-model="visibleFieldKeys" :options="fields.slice(7,14)" text-field="label" value-field="key" inline/>
</b-col>
<b-col lg="2" class="mb-3">
<b-form-checkbox-group stacked v-if="selectedPropertyId && tableLayout" v-model="visibleFieldKeys" :options="fields.slice(14,21)" text-field="label" value-field="key" inline/>
</b-col>
</b-row>
我尝试手动将值插入数组,但没有任何效果,而且这不是一段漂亮的代码。
visibleFieldKeys: [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,]
1条答案
按热度按时间qoefvg9y1#
问题是
visibleFieldKeys
不应该包含布尔值。但是你的复选框的值。在本例中,这将是fields
数组中对象的key
属性。因此,您可以Map字段并创建一个包含所有键的新数组,然后将其分配给
visibleFieldKeys
visibleFieldKeys: fields.map(f => f.key]