【发布时间】:2017-06-20 19:42:02
【问题描述】:
我正在使用vue.js 2.3 和element-ui。我正面临一个选择下拉列表的反应性问题,其值为item 选择。
问题
select 不会自动填充初始对象value
注意事项
如果我将:value="item" 更改为:value="item.name"
和form: {option: {name:'blue', price: ''}} 到form: {option:'blue'}
它正在工作
问题
当select dropdown 的值不只是string 或id 而是整个被选中的对象时,有没有办法让select dropdown 完全响应
https://jsfiddle.net/LeoCoco/aqduobop/
<
div style='margin-bottom:50px;'>
My form object :
{{form}}
</div>
<el-button @click="autoFill">Auto fill</el-button>
<el-select v-model="form.option" placeholder="Select">
<el-option v-for="item in options" :key="item.name" :label="item.name" :value="item">
</el-option>
</el-select>
</div>
var Main = {
data() {
const options = [
{name: 'blue', price: '100$'},{name: 'red', price: '150$'},
]
return {
currentItem: 0,
options,
form: {
option: {name:'', price: ''},
},
testForm: {
option:{name:'red', price: '150$'}
},
}
},
methods: {
autoFill() {
this.form = Object.assign({}, this.testForm); // -> Does not work
}
}
}
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
【问题讨论】:
-
您的选项总是硬编码还是来自某个地方?
-
默认情况下,
form对象应为空。在AJAX调用之后检索选项。testForm也在AJAX之后检索以使用autofill函数预填充下拉列表
标签: vuejs2