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 相关文章推荐
jquery ajax提交表单数据的两种实现方法
Apr 29 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
javascript实现汉字转拼音代码分享
Apr 20 Javascript
jQuery定义插件的方法
Dec 18 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
Aug 01 Javascript
jQuery用FormData实现文件上传的方法
Nov 21 Javascript
vue-router+nginx 非根路径配置方法
Jun 30 Javascript
JavaScript继承与聚合实例详解
Jan 22 Javascript
vue 解决computed修改data数据的问题
Nov 06 Javascript
jquery实现抽奖功能
Oct 22 jQuery
用javascript制作qq注册动态页面
Apr 14 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
php实现用户在线时间统计详解
2011/10/08 PHP
php流量统计功能的实现代码
2012/09/29 PHP
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
React 子组件向父组件传值的方法
2017/07/24 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
tensorflow中next_batch的具体使用
2018/02/02 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
详解Python 循环嵌套
2020/07/09 Python
韩国11街:11STREET
2018/03/27 全球购物
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
Pandora德国官网:购买潘多拉手链、戒指、项链和耳环
2020/02/20 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
中学教师岗位职责
2013/11/26 职场文书
财务检查整改报告
2014/11/06 职场文书
2014年终个人总结报告
2015/03/09 职场文书
女性健康讲座主持词
2015/07/04 职场文书