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 相关文章推荐
javascript 表单验证常见正则
Sep 28 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
Dec 02 Javascript
jQuery之end()和pushStack()使用介绍
Feb 07 Javascript
JS小功能(onmouseover实现选择月份)实例代码
Nov 28 Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 Javascript
node.js中的fs.unlink方法使用说明
Dec 15 Javascript
jQuery实现类似老虎机滚动抽奖效果
Aug 06 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
May 09 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 Javascript
微信小程序云开发之模拟后台增删改查
May 16 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 Javascript
Element Cascader 级联选择器的使用示例
Jul 27 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
用函数读出数据表内容放入二维数组
2006/10/09 PHP
我用php+mysql写的留言本
2006/10/09 PHP
php sprintf()函数让你的sql操作更安全
2008/07/23 PHP
php 获取完整url地址
2008/12/20 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
JS常用函数使用指南
2014/11/23 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
videocapture库制作python视频高速传输程序
2013/12/23 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
C语言编程练习
2012/04/02 面试题
家长通知书教师评语
2014/04/17 职场文书
我的祖国演讲稿
2014/05/04 职场文书
汽车运用工程专业求职信
2014/06/18 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS