Vue實現(xiàn)全選多個選擇框
Vue全選多個選擇框
可以使用 v-model
來綁定一個布爾類型的變量來實現(xiàn)全選多個選擇框的功能。
具體步驟
如下:
- 在
data
中定義一個數(shù)組,用來存儲所有需要選擇的項的狀態(tài)。 - 在模板中使用
v-for
指令循環(huán)渲染每個選擇框,并將每個選擇框的狀態(tài)綁定到數(shù)組中對應的項上。 - 在模板中添加一個全選復選框,將其狀態(tài)綁定到一個布爾類型的變量上。
- 使用
watch
監(jiān)聽全選復選框的狀態(tài)變化,當全選復選框的狀態(tài)改變時,遍歷數(shù)組中的每一項,將其狀態(tài)設(shè)置為全選復選框的狀態(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
變量來表示全選復選框的狀態(tài),一個 items
數(shù)組來存儲所有需要選擇的項的狀態(tài)。
在模板中,使用 v-for
指令循環(huán)渲染每個選擇框,并將每個選擇框的狀態(tài)綁定到數(shù)組中對應的項上。同時,還添加了一個全選復選框,并將其狀態(tài)綁定到 selectAll
變量上。
在 watch
中,監(jiān)聽 selectAll
變量的變化,當它的狀態(tài)改變時,遍歷 items
數(shù)組中的每一項,將其狀態(tài)設(shè)置為 selectAll
的狀態(tài)即可實現(xiàn)全選功能。
結(jié)果展示
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vuex中g(shù)etters和actions的使用補充說明
這篇文章主要介紹了在Vuex中關(guān)于getters和actions使用的補充作了簡要說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-09-09淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題
這篇文章主要介紹了淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08