vue使用监听实现全选反选功能

网友投稿 350 2023-01-26


vue使用监听实现全选反选功能

最近在学习vue这一块的内容,在项目中用到了全选全不选的功能,开始的时候借鉴了别人写的功能,但感觉写的有一些缺陷,然后就自己写了一套,如有写的不好的地方,请各位大佬指教,废话不多说,上代码。

首先定义数据

data: {

/*全选、全不选*/

allCheck:false,//全选功能

//循环数据

checkArr:[

{cityName:"东城区",isCheck:false},

{cityName:"西城区",isCheck:false},

{cityName:"朝阳区",isCheck:false},

{cityName:"丰台区",isCheck:false},

],

}

然后是页面代码:

{{carType.typeName}}

全选

下面是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

if(value[i].isCheck==true){

count++;

}

}

//如果子集全部选中,全选按钮设置选中状态

if(count==value.length){

_this.allCheck=true;

}else{

_this.allCheck=false;

}

},

deep:true

},

}

总结

以上所述是给大家介绍的vue使用监听实现全选反选功能,希望对大家有所帮助,如果大家有任何疑问请http://给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!

if(value[i].isCheck==true){

count++;

}

}

//如果子集全部选中,全选按钮设置选中状态

if(count==value.length){

_this.allCheck=true;

}else{

_this.allCheck=false;

}

},

deep:true

},

}

总结

以上所述是给大家介绍的vue使用监听实现全选反选功能,希望对大家有所帮助,如果大家有任何疑问请http://给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解浏览器缓存和webpack缓存配置
下一篇:无法连接共享文件夹的原因(无法连接共享文件夹的原因是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~