博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vuejs实现全选功能
阅读量:7154 次
发布时间:2019-06-29

本文共 2009 字,大约阅读时间需要 6 分钟。

全选功能

开发说明

  1. 项目使用 vuejs 实现
  2. 项目提供两种方式实现全选功能,并附上源码,共参考

方式一

方式一,完全发挥了 vuejs 的特性,使用了 computed 实现了对 单选按钮的实时监控。

var list = [ { title : '数据一', checked : false, },{ title : '数据二', checked : true, },{ title : '数据三', checked : true, },{ title : '数据四', checked : true, },{ title : '数据五', checked : true,}];var vm = new Vue({ el : '#app', data:{ list }, computed:{ status:{ get(){ return this.list.filter( item => item.checked ).length === this.list.length }, set( value ){ this.list.map(function( item ){ item.checked = value; return item; }); } } }});

方式二

方式二使用普通的事件监听方式处理数据状态

var list = [ { title : '数据一', checked : false, },{ title : '数据二', checked : true, },{ title : '数据三', checked : true, },{ title : '数据四', checked : true, },{ title : '数据五', checked : true,}];var vm = new Vue({ el : '#app', data : { list, status : this.list.filter( item => item.checked ).length === this.list.length ? true : false }, methods : { allCheck(){ this.list.map(function( item ){ item.checked = this.status; return item; }.bind(this)); }, singleCheck(){ this.status = this.list.filter( item => item.checked ).length === this.list.length ? true : false } }});

说明在方式二中使用了事件监听函数,使用了change,也可以使用 click,使用click事件时,低版本的vuejs存在 bug,高版本中 bug 修复,bug 存在于,在双向绑定状态改变时 使用click数据状态后滞后。

转载地址:http://vgegl.baihongyu.com/

你可能感兴趣的文章
关于 Python 的升级,真不是那么好升的。。。
查看>>
JavaScript对象模型-执行模型
查看>>
Flex读取本地文件
查看>>
Java ConcurrentModificationException 异常分析与解决方案
查看>>
Python发送邮件
查看>>
贪吃蛇系列之十一——总结
查看>>
AT域名,什么是AT域名?
查看>>
my97DatePicker选择年、季度、月、周、日
查看>>
mysql 链接逐步调试
查看>>
ProgressDialog的简单应用,等待提示
查看>>
c3p0配置内容详解
查看>>
git常用命令
查看>>
SUSE系统中如何将本地软件包目录作为一个zypper源
查看>>
Spread Studio for Winform :实现编辑状态下文本居中
查看>>
2015年互联网女皇趋势报告中文版
查看>>
Styled PageControl
查看>>
Flip View
查看>>
监控 Linux 性能的 18 个命令行工具
查看>>
家庭理财
查看>>
aerospike命令
查看>>