vue下拉框值改变_vue select下拉框绑定值不跟着变问题
data() {
return {
value1: "",
type: [{id: 1, name: '肖明'},{id: 2, name: '小紅'},{id: 3, name: '小光'}],
list: [1,2,3,4,5]
}
}
v-for="_item in type"
:value="_item.id"
:key="_item.id"
>{{ _item.name }}
通過循環生成了多個 select框 綁定的都是同一個下拉數據源, v-model 綁定的 value1在data中有定義聲明,但是list的length 是不確定的,所以每個select的v-model不可能在data中聲明….
想請教下,這種情況下怎么去綁定循環生成的select的值,在改變一個select的值時其他的select不會跟著改變….
回答
你的select會循環生成多個,那你綁定的value肯定也是對應的多個啊?為什么是多個下拉綁定一個value呢?這樣肯定會出現改變一個,其他的都會跟著改變呀。
你的value可以根據你的list長度,來生成對應個數的value
// value寫成計算屬性
computed: {
value() {
var valueArr = this.list.map(item => ({value: ''}))
return valueArr
}
}
select循環的肯定不能只綁定一個value1 你可以選擇把list做成一個對象數組
[{value:””},{value:””},{value:””},{value:””}]
循環的時候v-model綁定 item.value
data() {
return {
type: [{id: 1, name: '肖明'},{id: 2, name: '小紅'},{id: 3, name: '小光'}],
list:[1, 2, 3, 4, 5],
newList: []
}
}
created() {
this.newList = this.list.map(item => {
return {
model: '',
value: item
};
});
}
v-for="_item in type"
:value="_item.id"
:key="_item.id"
>{{ _item.name }}
基于引用類型數據,預先map原list,新增v-model綁定的value到每條數據里,最后再從list里面遍歷取結果
拿到list的時候根據length新增字段吧,然后再綁定上去
比如:
for(let i=0 ;i
let obj = {}
obj.key = 'value'+i
}
總結
以上是生活随笔為你收集整理的vue下拉框值改变_vue select下拉框绑定值不跟着变问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python多进程打印输出_多进程打印日
- 下一篇: activity7 拖不动_Activi