vue基于两个计算属性实现选中和全选功能示例


Posted in Javascript onFebruary 08, 2019

本文实例讲述了vue基于两个计算属性实现选中和全选功能。分享给大家供大家参考,具体如下:

还是选中和全选功能,用两个计算属性来实现,别人的代码,思维确实不一样。学习了

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>3water.com vue选中和全选</title>
  <style>
    table, td, th{
      border:1px solid #ebebeb;
      border-collapse:collapse;
      text-align: center;
    }
    table {
      width:500px;
    }
  </style>
  <script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script>
</head>
<body>
  <div class="app">
    <table>
      <thead>
        <tr>
          <th style="line-height: 38px">选中数
            {{checkedCount}}<input type="checkbox" v-model="allchecked" style="zoom:200%;vertical-align: middle">
          </th>
          <th>name</th>
          <th>age</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="item in list">
          <td><input type="checkbox" v-model="item.checked" style="zoom:200%"></td>
          <td>{{item.name}}</td>
          <td>{{item.age}}</td>
        </tr>
      </tbody>
    </table>
  </div>
  <script>
    var list=[
      {
        name:'小明',
        age: 23,
        checked: false
      },
      {
        name:'小红',
        age: 2,
        checked: true
      },
      {
        name:'小蓝',
        age: 23,
        checked: true
      },
      {
        name:'小bai',
        age: 40,
        checked: true
      },
      {
        name:'王小二',
        age: 18,
        checked: false
      }
    ]
    new Vue({
      el: '.app',
      data: {
        list
      },
      computed: {
       allchecked: {
        // getter
        get: function () {
         return this.list.length == this.checkedCount
        },
        // setter
        set: function (val) {
          //val就是点击之后,全选按钮的v-model值(状态),勾上后就是val的值就是true。未勾上就是false
          console.log(val)
          this.list.forEach(item => {
           item.checked = val
          })
        }
       },
       checkedCount: {
        // getter
        get: function () {
         var i = 0
         this.list.forEach(item => {
           if (item.checked === true) i++
         })
         return i
        }
       }
      }
    })
  </script>
</body>
</html>

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行效果:

vue基于两个计算属性实现选中和全选功能示例

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
Oct 26 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
Mar 21 Javascript
html+js实现动态显示本地时间
Sep 21 Javascript
js取得html iframe中的元素和变量值
Jun 30 Javascript
angularJS 中input示例分享
Feb 09 Javascript
Javascript无参数和有参数类继承问题解决方法
Mar 02 Javascript
JS实现带鼠标效果的头像及文章列表代码
Sep 27 Javascript
浅谈几种常用的JS类定义方法
Jun 08 Javascript
JavaScript中removeChild 方法开发示例代码
Aug 15 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
Sep 26 Javascript
uni-app 组件里面获取元素宽高的实现
Dec 27 Javascript
Vue项目移动端滚动穿透问题的实现
May 19 Javascript
vue计算属性get和set用法示例
Feb 08 #Javascript
vue多次循环操作示例
Feb 08 #Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
Feb 08 #Javascript
ES6 对象的新功能与解构赋值介绍
Feb 05 #Javascript
Vue从TodoList中学父子组件通信
Feb 05 #Javascript
详解webpack编译速度提升之DllPlugin
Feb 05 #Javascript
基于Webpack4和React hooks搭建项目的方法
Feb 05 #Javascript
You might like
thinkphp浏览历史功能实现方法
2014/10/29 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python中遍历文件的3个方法
2014/09/02 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
python 安装impala包步骤
2020/03/28 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
毕业生找工作求职信
2014/08/05 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
植树节新闻稿
2015/07/17 职场文书