Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > js框架/js库

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

来源:中文源码网    浏览:171 次    日期:2024-05-17 00:49:34
【下载文档:  vue使用监听实现全选反选功能.txt 】


vue使用监听实现全选反选功能
最近在学习vue这一块的内容,在项目中用到了全选全不选的功能,开始的时候借鉴了别人写的功能,但感觉写的有一些缺陷,然后就自己写了一套,如有写的不好的地方,请各位大佬指教,废话不多说,上代码。
首先定义数据
data: {
/*全选、全不选*/
allCheck:false,//全选功能
//循环数据
checkArr:[
{cityName:"东城区",isCheck:false},
{cityName:"西城区",isCheck:false},
{cityName:"朝阳区",isCheck:false},
{cityName:"丰台区",isCheck:false},
],
}
然后是页面代码:





全选

下面是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;iif(value[i].isCheck==true){
count++;
}
}
//如果子集全部选中,全选按钮设置选中状态
if(count==value.length){
_this.allCheck=true;
}else{
_this.allCheck=false;
}
},
deep:true
},
}
总结
以上所述是小编给大家介绍的vue使用监听实现全选反选功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对中文源码网网站的支持!

相关内容