gpt4 book ai didi

javascript - 是否可以在 Vue.js 中将 v-model 与嵌套数组分组?

转载 作者:行者123 更新时间:2023-12-03 02:52:12 24 4
gpt4 key购买 nike

我正在尝试对 vue 应用程序中的组进行过滤。是否可以将 v-model 与嵌套数组分组?

我尝试过以下模板...

<div id="app">
<div class="filter__control filter__control--tags">
<div class="filter__label">Colour</div>
<div class="filter__list">
<label><input type="checkbox" v-model="selectedTags[0]" value="Harvest">Harvest</label>
<label><input type="checkbox" v-model="selectedTags[0]" value="Moss">Moss</label>
<label><input type="checkbox" v-model="selectedTags[0]" value="Navy">Navy</label>
<label><input type="checkbox" v-model="selectedTags[0]" value="White">White</label>
</div>
</div>

<div class="filter__control filter__control--tags">
<div class="filter__label">Size</div>
<div class="filter__list">
<label><input type="checkbox" v-model="selectedTags[1]" value="L">L</label>
<label><input type="checkbox" v-model="selectedTags[1]" value="M">M</label>
<label><input type="checkbox" v-model="selectedTags[1]" value="S">S</label>
<label><input type="checkbox" v-model="selectedTags[1]" value="XL">XL</label>
<label><input type="checkbox" v-model="selectedTags[1]" value="XS">XS</label>
</div>
</div>
</div>

还有 vue 实例..

var app = new Vue({
el: '#app',
data: {
selectedTags: []
},
watch: {
selectedTags: function() {
// I expect the array to look something like...
this.selectedTags = [
["Navy"],
["XS", "S"]
]
}
}
});

最佳答案

不需要观察者。只需将它们分配给 SelectedTags 对象的 2 个不同参数即可。

var app = new Vue({
el: '#app',
data: {
selectedTags: {
color: [],
size: [],
}
},

// if you need exact format of the tags that you wanted use computed property.

computed: {
SelectedTagsArrays: function(){
return [this.selectedTags.color, this.selectedTags.size];
}
}
});
<div id="app">
<div class="filter__control filter__control--tags">
<div class="filter__label">Colour</div>
<div class="filter__list">
<label><input type="checkbox" v-model="selectedTags.color" value="Harvest">Harvest</label>
<label><input type="checkbox" v-model="selectedTags.color" value="Moss">Moss</label>
<label><input type="checkbox" v-model="selectedTags.color" value="Navy">Navy</label>
<label><input type="checkbox" v-model="selectedTags.color" value="White">White</label>
</div>
</div>

<div class="filter__control filter__control--tags">
<div class="filter__label">Size</div>
<div class="filter__list">
<label><input type="checkbox" v-model="selectedTags.size" value="L">L</label>
<label><input type="checkbox" v-model="selectedTags.size" value="M">M</label>
<label><input type="checkbox" v-model="selectedTags.size" value="S">S</label>
<label><input type="checkbox" v-model="selectedTags.size" value="XL">XL</label>
<label><input type="checkbox" v-model="selectedTags.size" value="XS">XS</label>
</div>
</div>
</div>

关于javascript - 是否可以在 Vue.js 中将 v-model 与嵌套数组分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47803713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com