Vue實現(xiàn)全選多個選擇框
Vue全選多個選擇框
可以使用 v-model 來綁定一個布爾類型的變量來實現(xiàn)全選多個選擇框的功能。
具體步驟
如下:
- 在
data中定義一個數(shù)組,用來存儲所有需要選擇的項的狀態(tài)。 - 在模板中使用
v-for指令循環(huán)渲染每個選擇框,并將每個選擇框的狀態(tài)綁定到數(shù)組中對應(yīng)的項上。 - 在模板中添加一個全選復(fù)選框,將其狀態(tài)綁定到一個布爾類型的變量上。
- 使用
watch監(jiān)聽全選復(fù)選框的狀態(tài)變化,當(dāng)全選復(fù)選框的狀態(tài)改變時,遍歷數(shù)組中的每一項,將其狀態(tài)設(shè)置為全選復(fù)選框的狀態(tài)即可。
示例代碼
<template>
<div>
<input type="checkbox" v-model="selectAll"> 全選
<div v-for="(item, index) in items" :key="index">
<input type="checkbox" v-model="item.checked"> {{ item.label }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
selectAll: false,
items: [
{ label: '選項1', checked: false },
{ label: '選項2', checked: false },
{ label: '選項3', checked: false },
],
};
},
watch: {
selectAll(val) {
this.items.forEach(item => {
item.checked = val;
});
},
},
};
</script>在上面的代碼中,我們定義了一個 selectAll 變量來表示全選復(fù)選框的狀態(tài),一個 items 數(shù)組來存儲所有需要選擇的項的狀態(tài)。
在模板中,使用 v-for 指令循環(huán)渲染每個選擇框,并將每個選擇框的狀態(tài)綁定到數(shù)組中對應(yīng)的項上。同時,還添加了一個全選復(fù)選框,并將其狀態(tài)綁定到 selectAll 變量上。
在 watch 中,監(jiān)聽 selectAll 變量的變化,當(dāng)它的狀態(tài)改變時,遍歷 items 數(shù)組中的每一項,將其狀態(tài)設(shè)置為 selectAll 的狀態(tài)即可實現(xiàn)全選功能。
結(jié)果展示


總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vuex中g(shù)etters和actions的使用補(bǔ)充說明
這篇文章主要介紹了在Vuex中關(guān)于getters和actions使用的補(bǔ)充作了簡要說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-09-09
淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題
這篇文章主要介紹了淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

