我有两个选择,一个是数据,另一个是空。当选择第一个时,我使用开关捕获它。现在,根据值,我想创建选项元素并将它们放在空的select中。
假设我有一个值数组
var values = ['Hello', 'world', 'etc']
选择时
selected(event) {
var name;
switch (event.target.value) {
case 'roth':
// append values as options into select, using foreach
// such as:
// <option value="hello">Hello</option>
...
}
}
在我的模板中选择:
<select class="form-control" :id="selection">
<option selected="" disabled="" value="0"></option>
</select>
答案 0 :(得分:3)
您可以为第二个select
的选项定义一个空数组,并使用您的开关/案例推送值。稍后您可以将这些值与v-for
一起使用
例如:
new Vue({
el: '#app',
data: {
selectValues: ['Hello', 'world', 'etc'],
secondarySelectValues: [],
},
methods: {
handleChange: function(e) {
switch (e.target.value) {
case 'Hello':
this.secondarySelectValues = [];
this.secondarySelectValues.push('this', 'is', 'hello');
break;
case 'world':
this.secondarySelectValues = [];
this.secondarySelectValues.push('this', 'is', 'world')
break;
case 'etc':
this.secondarySelectValues = [];
this.secondarySelectValues.push('this', 'is', 'etc')
break;
}
}
}
})
<script src="https://unpkg.com/vue@2.4.2"></script>
<div id="app">
<select class="form-control" @change="handleChange">
<option v-for="selectValue in selectValues" :value="selectValue">{{ selectValue }}</option>
</select>
<select class="form-control secondary">
<option v-for="secondarySelectValue in secondarySelectValues" :value="secondarySelectValue">{{ secondarySelectValue }}</option>
</select>
</div>