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

vue input 全選

錢浩然2年前9瀏覽0評論

Vue中的input元素提供了全選的功能。通過綁定v-model指令可以雙向綁定數據,并且配合ref指令可以在Vue組件中通過JavaScript來操作input元素,實現全選等功能。

下面是一個實現Vue input全選的示例代碼:

<template>
<div>
<input type="checkbox" v-model="isCheckedAll" @change="selectAll">全選
<hr>
<div v-for="(item, idx) in itemList">
<input type="checkbox" :id="'checkbox'+idx" v-model="item.isChecked" @change="checkAll">
<label :for="'checkbox'+idx">{{ item.name }}</label>
</div>
</div>
</template>
<script>
export default {
data() {
return {
itemList: [
{ name: '選項1', isChecked: false },
{ name: '選項2', isChecked: false },
{ name: '選項3', isChecked: false }
]
}
},
computed: {
// 是否全選
isCheckedAll() {
return this.itemList.every(item =>item.isChecked)
}
},
methods: {
// 全選
selectAll(e) {
let isChecked = e.target.checked
this.itemList.forEach(item =>item.isChecked = isChecked)
},
// 單選
checkAll() {
// 如果所有選項都被選中,則全選按鈕也應該被選中
if (this.isCheckedAll) {
this.$refs.checkAllCheckbox.checked = true
} else {
this.$refs.checkAllCheckbox.checked = false
}
}
}
}
</script>

在代碼中,我們先通過v-model指令綁定了全選復選框和每個選項的復選框的數據,然后通過v-for指令循環渲染了每一個選項。在computed中,我們定義了一個isCheckedAll計算屬性,用于判斷是否全選。在methods中,我們定義了兩個方法:selectAll()和checkAll(),用于實現全選和單選功能,其中checkAll()方法中使用了this.$refs來獲取全選復選框的DOM實例,從而實現全選復選框的勾選和取消勾選。

以上就是Vue input全選的實現方法,希望對大家有所幫助。