我已经使用Vue.js创建了一个表单,用户可以在其中保存答案并返回。我的Vue模板中有一个下拉列表,并且v模型与计算属性绑定在一起。它在其他浏览器中工作正常,但在IE中,下拉列表未显示页面加载时所选的先前选择的答案。如果他们再次回答,效果很好,但我希望显示他们先前选择的答案。
<select class="form-control" v-model="answerLocal" @change="updatedAnswer()">
<option v-for="option in possibleanswers">
{{option}}
</option>
</select>
computed: {
answerLocal: {
get: function () {
if (this.responses && this.responses.length) {
return this.responses[0].value;
}
return '';
},
set: function (val) {
if (this.responses.length === 0) {
this.responses[0] = { value: '' };
}
this.responses[0].value = val;
}
}
可能的答案是组件的属性,而answerLocal是计算的属性。响应是组件的属性,并包含对象数组。
我终于找到了解决方案。我需要将v-bind:value =“ option”添加到html中的选项标签中。在下面更新了html。
<select class="form-control" v-model="answerLocal" @change="updatedAnswer()">
<option v-for="option in possibleanswers" v-bind:value="option">
{{option}}
</option>
</select>