前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue+element踩坑记-checkbox的全选和全不选的操作实现

vue+element踩坑记-checkbox的全选和全不选的操作实现

作者头像
何处锦绣不灰堆
发布2020-05-29 09:32:29
3.1K0
发布2020-05-29 09:32:29
举报
文章被收录于专栏:农历七月廿一农历七月廿一
需求分析

在做一个业务的时候,有一个需求是多个条件进行筛选,全部是checkbox的筛选条件,可以进行任意一个的选择还可以进行全选和全不选,这样进行表格的筛选

实现过程

原本准备直接使用组件里面自带的方法实现的,但是写的时候发现满足不了,后来分析了一下,数据的格式就知道大概怎么实现了

效果预览
预览
预览
源码
代码语言:javascript
复制
	  /**
       * @check_All_Change 全选操作
       */
      check_All_Change() {
        let that = this;
        /**
         * 将全部的信息添加到绑定的数组里面去,这样可以实现一个全选的效果
         * @type {any[]}
         */
        that.type_of_cost = that.item_type_of_costs.map((res)=>{
             return res.code;
        });
      },
      /**
       * @check_Nll_Change 全不选操作
       */
      check_Null_Change(){
        let that = this;
        that.type_of_cost = [];
      },
代码语言:javascript
复制
item_type_of_costs : 是checkbox绑定的数组
type_of_cost : 绑定的是用户选择的checkbox的数组
代码语言:javascript
复制
 <el-row>
                <el-col :span="24">
                  <el-checkbox-group v-model="type_of_cost" @change="condition_inquire">
                    <el-checkbox v-for="(item_type_of_cost,index) in item_type_of_costs" :label="item_type_of_cost.code" :key="item_type_of_cost.code">{{item_type_of_cost.descript}}</el-checkbox>
                  </el-checkbox-group>
                </el-col>
</el-row>
代码语言:javascript
复制
/**
* 测试数据
*/
 type_of_cost : [],//用户选择的筛选条件
        item_type_of_costs : [{label : '夜审费',code : 123,descript:'夜审费'},{label : '钟点房费',code : 456,descript:'钟点房费'},{label : '会场费',code : 789,descript:'会场费'}],

PS:这里写几个函数都行,写一个或者两个都是没有区别的,巧妙的写法是直接写一个函数,点击的时候判断当前是全选还是全不选,进而执行不同的代码,这里就不重复写了,改起来很简单。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求分析
  • 实现过程
  • 效果预览
  • 源码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档