在早期版本的vue.js
中,您可以使用optgroups
(如this)创建一个动态选择列表。在vue 1.x中选择`optgroup`
在较新版本的vue中,文档在选项中显示为使用v-for
,看起来他们不再支持optgroups
。有没有解决方法?
在早期版本的vue.js
中,您可以使用optgroups
(如this)创建一个动态选择列表。在vue 1.x中选择`optgroup`
在较新版本的vue中,文档在选项中显示为使用v-for
,看起来他们不再支持optgroups
。有没有解决方法?
创建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>
@ asemahle--用'filterBy'完成这项工作吗?请参阅以下错误:https://jsfiddle.net/y106z528/ – user101289
语法是'filterBy VALUE in PROPERTY'。你的小提琴在'OBJECT'中'过滤价值'。 [这是你的小提琴的一个分支](https://jsfiddle.net/asemahle/1uar6oc1/)。您需要添加额外的逻辑来隐藏空的optgroups。 – asemahle
你不能使用嵌套的'V-for's?外'v-for'来处理'optgroup's和内循环来填充'option's? –