我试图只检查一个复选框,但是当我检查它时,其余部分也会被检查。为什么会这样?关于此的任何文件?
<md-layout v-for="Location in Locations" :key="Location.id">
<md-checkbox v-model="checkbox" class="md-warn">{{ Location.city }}</md-checkbox>
</md-layout>
data () {
return {
checkbox: false,
Locations: [{
id: 1,
city: '1'
}, {
id: 2,
city: '2'
}, {
id: 3,
city: '3'
}, {
id: 4,
city: '4'
}, {
id: 5,
city: '5'
}, {
id: 6,
city: '6'
}]
答案 0 :(得分:2)
由于每个复选框的v-model
是变量checkbox
,因此该变量的值将绑定到每个组件。您希望每个复选框组件的v-model
都有自己的变量来引用。
您可以将checkbox
布尔值转换为checkboxes
对象,并为每个位置ID添加索引键:
data() {
return {
checkboxes: {
1: false,
2: false,
3: false,
4: false,
5: false,
6: false,
},
...
然后在您的模板中,按checkboxes
:
Location.id
属性值
<md-checkbox v-model="checkboxes[Location.id]" class="md-warn">
或者,如果您不介意影响Locations
数据属性,则只需绑定到每个位置的selected
属性:
<md-checkbox v-model="Location.selected" class="md-warn">