色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue checkbox bug

夏志豪1年前8瀏覽0評論

最近我在使用Vue框架的時候遇到了一個CheckBox的問題,原來這是一個已知的Bug,我將在本篇文章中為大家介紹該問題,并提供解決方法。

這個問題出現在使用v-for指令遍歷Checkbox對象時,無法將選中的Checkbox的值正確地傳遞給Vue組件。在綁定Checkbox的Value值后,點擊選中Checkbox時,Vue Model并沒有響應對應的值。此問題在Vue的2.0版本之前是不存在的。

<div id="app">
<label v-for="(item, index) in items">
<input type="checkbox" v-model="checkedNames" :value="item">
{{ item }}
</label>
<pre>{{ checkedNames }}</pre>
</div>
<script>
new Vue({
el: '#app',
data: {
items: ['A', 'B', 'C', 'D'],
checkedNames: []
}
})
</script>

解決該問題的方法是通過使用一個計算屬性來代替直接使用v-model綁定Checkbox。首先,在Vue實例中定義一個空的數組,用于保存選中的Checkbox的值:

<script>
new Vue({
el: '#app',
data: {
items: ['A', 'B', 'C', 'D'],
checkedNames: []
},
computed: {
checkedValues: {
get: function () {
return this.checkedNames
},
set: function (value) {
this.checkedNames = value
}
}
}
})
</script>

然后,在HTML代碼中,我們將v-model改為同名的計算屬性,并將Checkbox的value值替換為item的索引值:

<div id="app">
<label v-for="(item, index) in items">
<input type="checkbox" :value="index" v-model="checkedValues">
{{ item }}
</label>
<pre>{{ checkedNames }}</pre>
</div>

通過使用計算屬性,我們成功地繞過了該Bug,并且得以正常地將選中的Checkbox的值傳遞給Vue組件。

上一篇go json數據
下一篇vue checkall