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 相关文章推荐
js 操作css实现代码
Jun 11 Javascript
使用firebug进行调试javascript的示例
Dec 16 Javascript
javascript中clipboardData对象用法详解
May 13 Javascript
JavaScript+canvas实现七色板效果实例
Feb 18 Javascript
浅谈JS中的bind方法与函数柯里化
Aug 10 Javascript
Vue.use源码分析
Apr 22 Javascript
babel的使用及安装配置教程
Feb 22 Javascript
使用webpack-dev-server处理跨域请求的方法
Apr 18 Javascript
vue组件实现进度条效果
Jun 06 Javascript
vue中的计算属性实例详解
Sep 19 Javascript
Vue引入Stylus知识点总结
Jan 16 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
Jun 16 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
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
仿百度输入框智能提示的js代码
2013/08/22 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
python 文件和路径操作函数小结
2009/11/23 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
python中with用法讲解
2020/02/07 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
同学聚会老师邀请函
2014/01/28 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
工作证明英文模板
2014/10/21 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
党员身份证明材料
2015/06/19 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书