vue使用監(jiān)聽實現(xiàn)全選反選功能
最近在學習vue這一塊的內(nèi)容,在項目中用到了全選全不選的功能,開始的時候借鑒了別人寫的功能,但感覺寫的有一些缺陷,然后就自己寫了一套,如有寫的不好的地方,請各位大佬指教,廢話不多說,上代碼。
首先定義數(shù)據(jù)
data: { /*全選、全不選*/ allCheck:false,//全選功能 //循環(huán)數(shù)據(jù) checkArr:[ {cityName:"東城區(qū)",isCheck:false}, {cityName:"西城區(qū)",isCheck:false}, {cityName:"朝陽區(qū)",isCheck:false}, {cityName:"豐臺區(qū)",isCheck:false}, ], }
然后是頁面代碼:
<div> <div v-for="carType in checkArr"> <p> <input type="checkbox" v-model="carType.isCheck"/> <a href="javascript:void(0)" rel="external nofollow" >{{carType.typeName}}</a> </p> </div> </div> <div> <input type="checkbox" id="chooseAllType" v-model="allCheck" @click="selectAll(allCheck)"/> 全選 </div>
下面是js中代碼
methods: { /*點擊全選,選中所有復選框*/ selectAll: function (data) { var _this = this; //如果父級被選中,那么子集循環(huán),全被給checked=true if (!data) { _this.checkArr.forEach(function (item) { item.isCheck = true; }); } else { //相反,如果沒有被選中,子集應該全部checked=false _this.checkArr.forEach(function (item) { item.isCheck = false; }); } }, }
下面是監(jiān)聽部分代碼,主要功能為如果子集全部選中,全選按鈕同樣被勾選
watch:{ /*監(jiān)聽全選事件*/ checkArr:{ handler(value){ var _this = this; var count=0; for(var i=0;i<value.length;i++){ if(value[i].isCheck==true){ count++; } } //如果子集全部選中,全選按鈕設置選中狀態(tài) if(count==value.length){ _this.allCheck=true; }else{ _this.allCheck=false; } }, deep:true }, }
總結(jié)
以上所述是小編給大家介紹的vue使用監(jiān)聽實現(xiàn)全選反選功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
修改el-form-item中的label里面的字體邊距或者大小問題
這篇文章主要介紹了修改el-form-item中的label里面的字體邊距或者大小問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10Vue項目中對index.html中BASE_URL的配置方式
這篇文章主要介紹了Vue項目中對index.html中BASE_URL的配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06springboot?vue接口測試前端動態(tài)增刪表單功能實現(xiàn)
這篇文章主要為大家介紹了springboot?vue接口測試前端動態(tài)增刪表單功能實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05詳解用webpack2.0構(gòu)建vue2.0超詳細精簡版
本篇文章主要介紹了詳解用webpack2.0構(gòu)建vue2.0超詳細精簡版,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04vue-pdf插件實現(xiàn)pdf文檔預覽方式(自動分頁預覽)
這篇文章主要介紹了vue-pdf插件實現(xiàn)pdf文檔預覽方式(自動分頁預覽),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03