簡體   English   中英

是否可以在Vue.js中使用嵌套數組對v-model進行分組?

[英]Is it possible to group v-model with a nested array in Vue.js?

我正在嘗試對vue應用程序中的組進行過濾。 是否可以使用嵌套數組對v模型進行分組?

我已經嘗試過以下模板...

<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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM