2016-07-07 2 views
0

vue.jsの以前のバージョンでは、optgroupsのようなthisを使用して動的選択リストを作成することができました。vue 1.xで `optgroup`を選択

vueの新しいバージョンでは、オプションにv-forを使用してドキュメントが表示され、optgroupsをサポートしていないようです。このための回避策はありますか?

+2

あなたは、ネストされた 'V-for'sを使用することができませんでしたか? 'opt''を扱う外側' v-for'と 'option'sを埋め込む内側ループ? –

答えて

3

optgroupsでリストを作成する最も簡単な方法は、ネストすることですv-forです。 optgroupの外側ループとoptionの内側ループを使用します。次に例を示します。

var app = new Vue({ 
 
    el: '#app', 
 
    
 
    data: { 
 
    selected: '', 
 
    optgroups: [ 
 
     { label: 'A', options: ['a', 'b']}, 
 
     { label: 'B', options: ['c', 'd']} 
 
    ] 
 
    } 
 
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js"></script> 
 
<div id="app"> 
 
    <select v-model="selected"> 
 
    <optgroup :label="group.label" v-for="group in optgroups"> 
 
     <option :value="option" v-for="option in group.options">{{ option }}</option> 
 
    </optgroup> 
 
    </select> 
 
</div>

+0

@ asemahle--これは 'filterBy'でも使えますか?このエラーを見てください:https://jsfiddle.net/y106z528/ – user101289

+1

構文は 'filterBy VALUE in PROPERTY'です。あなたのフィドルは 'filterBy VALUE in OBJECT'を行います。この変更に伴い[ここにあなたのフィドルのフォークがある](https://jsfiddle.net/asemahle/1uar6oc1/)。空のoptgroupを隠すために余分なロジックを追加する必要があります。 – asemahle

関連する問題