[英]Pass data to v-model
如何将索引从选项传递到 select 中的 v-model?
<select v-model="selectedItem">
<option v-for="item, index" in list" :index="index">{{item}}</option>
</select>
selectedItem
只存储项目,没有索引。 如何获取选项索引,例如selectedItem.index
?
您可以将option
标签值绑定到index
:
<select v-model="selectedItem">
<option v-for="item, index" in list" :value="index">{{item}}</option>
</select>
selectedItem
然后将成为所选项目的索引,您不需要同时拥有项目及其索引,因为它是多余的:
const item = this.list[this.selectedItem];
如果您希望将索引存储在selectedItem.index
上,那么您必须将v-model
设置为selectedItem.index
除此之外,您需要将:index
更改为:value
并使用v-for
修复语法问题
new Vue({ el: '#app', data: { selectedItem: {}, list: [5, 6, 7, 8, 9] } })
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <select v-model="selectedItem.index"> <option v-for="(item, index) in list":value="index">{{item}}</option> </select> <pre>{{selectedItem}}</pre> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.