国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue使用監聽實現全選反選功能

2024-05-06 15:32:54
字體:
來源:轉載
供稿:網友

最近在學習vue這一塊的內容,在項目中用到了全選全不選的功能,開始的時候借鑒了別人寫的功能,但感覺寫的有一些缺陷,然后就自己寫了一套,如有寫的不好的地方,請各位大佬指教,廢話不多說,上代碼。

首先定義數據

data: {   /*全選、全不選*/   allCheck:false,//全選功能   //循環數據   checkArr:[     {cityName:"東城區",isCheck:false},     {cityName:"西城區",isCheck:false},     {cityName:"朝陽區",isCheck:false},     {cityName:"豐臺區",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;    //如果父級被選中,那么子集循環,全被給checked=true    if (!data) {      _this.checkArr.forEach(function (item) {        item.isCheck = true;      });    } else {      //相反,如果沒有被選中,子集應該全部checked=false      _this.checkArr.forEach(function (item) {        item.isCheck = false;      });    }  },}

下面是監聽部分代碼,主要功能為如果子集全部選中,全選按鈕同樣被勾選

watch:{  /*監聽全選事件*/  checkArr:{    handler(value){      var _this = this;      var count=0;      for(var i=0;i<value.length;i++){        if(value[i].isCheck==true){          count++;        }      }      //如果子集全部選中,全選按鈕設置選中狀態      if(count==value.length){        _this.allCheck=true;      }else{        _this.allCheck=false;      }    },    deep:true  },}

總結

以上所述是小編給大家介紹的vue使用監聽實現全選反選功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 太仓市| 常熟市| 厦门市| 西吉县| 监利县| 太白县| 电白县| 木兰县| 彭阳县| 陵川县| 阿鲁科尔沁旗| 远安县| 怀化市| 天等县| 丹巴县| 都江堰市| 合作市| 信阳市| 青冈县| 平安县| 古丈县| 东乡族自治县| 工布江达县| 乌兰察布市| 济宁市| 威信县| 乌鲁木齐县| 衡南县| 叶城县| 沂水县| 英吉沙县| 苏尼特右旗| 湘阴县| 安阳县| 天门市| 武胜县| 唐河县| 夹江县| 东乌珠穆沁旗| 乌拉特中旗| 延川县|