element-UI里的table表格与多选框CheckBox的组合很常用,官网也给了很多参数,自己总结了一下,方便日后使用
1、简易用法,没有附加的功能
要在表格里使用CheckBox很简单,只需设置type就可以
<!-- 在table中添加selection-change的处理函数,回调函数可以拿到选中的数组 -->
<el-table
:data="tableData2"
border
style="width: 100%"
ref="checkTable"
@selection-change="handleSelectionChange">
<!-- 只需在表格里多加一列.设置type="selection"就可以 -->
<el-table-column
type="selection"
width="55">
</el-table-column>
.
.
.
</el-table> // method
handleSelectionChange (val) {
console.log(val)
}
2、切换选中的表格,默认选中表格
使用表格的toggleRowSelection可以切换表格的选中状态,也可以设置表格的默认选中行
<!-- 在table中设置一个ref,就可以使用表格的方法了 -->
<el-table
:data="tableData2"
border
style="width: 100%"
ref="checkTable"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55">
</el-table-column>
.
.
.
</el-table> // method
// 处理表格数据,已还款的自动选上
handleCheckData () {
let table = this.tableData2 // 从后台获取到的数据
table.forEach(item => {
if (item.status === '已还款') {
// toggleRowSelection可以切换表格行的选中状态,接收两个参数第一个是要切换的行,这里需要的对象格式,
// 第二个参数是设置选中还是不选中,不传的话会取与原来相反的选择状态
// 方法调用要等元素挂载才后才能执行,这里加一个判断,这个方法要放在数据获取后
this.$refs.checkTable && this.$refs.checkTable.toggleRowSelection(item, true)
}
})
}

3、设置表格行为不可选
通过selectable参数可以手动设置某些表格行未不可选择
<el-table
:data="tableData2"
border
style="width: 100%"
ref="checkTable"
@selection-change="handleSelectionChange">
<!-- 在type="selection的列里添加selectable参数,通过函数返回true或false可以设置是否可选" -->
<el-table-column
type="selection"
:selectable="handleDisable"
width="55">
</el-table-column>
.
.
.
</el-table> // method
// 处理表格数据,未还款的默认不能勾选
// 有两个参数返回,表格的每一行对象和当前索引
handleDisable(row, index) {
// 函数需要一个返回值,true为可选,false为不可选择
if (row.status === '未还款') {
return false
} else {
return true
}
}

4、保存数据更新前选中的数据
通过reserve-selection和row-key搭配使用,可以设置保留数据更新前的选中值(分页刷新数据等)
<!-- 在table里设置row-key参数 -->
<el-table
:data="tableData2"
border
style="width: 100%"
ref="checkTable"
:row-key="handleReserve"
@selection-change="handleSelectionChange">
<!-- 在type="selection的列里添加reserve-selection参数,true为保留数据,默认为false不保留 -->
<el-table-column
type="selection"
reserve-selection
width="55">
</el-table-column>
.
.
.
</el-table> // method
// 表格数据处理,保存上一页选中的数据
// 返回的参数是每一行的值,需要指定表格数据的唯一值,一般是id
handleReserve (row) {
return row.id
}

5、其他的一些方法
// 清除选中的数据
this.$refs.checkTable.clearSelection()
// 切换所有行的选中状态
this.$refs.checkTable.toggleAllSelection()

element-ui table多选CheckBox参数解析的更多相关文章

  1. Element UI table参数中的selectable的使用

    Element UI table参数中的selectable的使用中遇到的坑:页面: <el-table-column :selectable='selectable' type="s ...

  2. Vue+element ui table 导出到excel

    需求: Vue+element UI table下的根据搜索条件导出当前所有数据 参考: https://blog.csdn.net/u010427666/article/details/792081 ...

  3. VUE -- 对 Element UI table中数据进行二次处理

    时间——日期 后台经常给我们返回的是 时间戳 (例如:1535620671) 这时候我们页面展现的时候需要将时间戳转换为我们要的格式 例如 (YYYY-MM-DD HH:mm:ss) 如果是在Elem ...

  4. Element UI table组件源码分析

    本文章从如下图所示的最基本的table入手,分析table组件源代码.本人已经对table组件原来的源码进行削减,源码点击这里下载.本文只对重要的代码片段进行讲解,推荐下载代码把项目运行起来,跟着文章 ...

  5. element UI table 过滤 筛选问题

    一.问提描述    使用elementUI table 官方筛选案例,发现筛选不是服务器端筛选,而是浏览器端对每一页进行单独筛选. 如何在服务器端筛选? 二.查询Element UI 官网table组 ...

  6. element ui table 导出excel表格

    https://blog.csdn.net/u010427666/article/details/79208145 vue2.0 + element UI 中 el-table 数据导出Excel1. ...

  7. element ui table(表格)点击一行展开

    element ui是一个非常不错的vue的UI框架,element对table进行了封装,简化了vue对表格的渲染. element ui表格中有一个功能是展开行,在2.0版本官网例子中,只可以点击 ...

  8. 普通element ui table组件的使用

    1.使用基础的element ui 的table的基础使用 首先,使用前要先引用element库到项目中,可以直接引入element的js和css或者在vue项目下按需加载不同的组件 废话不多说,直接 ...

  9. element ui table render-header自定义表头信息使用

    在使用vue自定义组件内容过程之中,我们绝大多数情况下都是通过预先写好不同的html模板,再通过props传入不同的值来渲染不同的模板.例如我们需要实现一个<v-title size='1'&g ...

随机推荐

  1. C# WebService中任务处理线程创建子线程后

    protected void WriteLog(string message) { lock (lockObject) { var file = System.IO.File.AppendText(& ...

  2. Go 面向对象概念

    前言: 本文是学习<<go语言程序设计>> -- 清华大学出版社(王鹏 编著) 的2014年1月第一版 做的一些笔记 , 如有侵权, 请告知笔者, 将在24小时内删除, 转载请 ...

  3. Python2.7.9 编码问题

    最近学一学网络爬虫,遇到第一件头疼的事情就是编码问题, 看了很多教程讲得不清楚, 现在整理一下,希望以后查看方便一些 使用   sys.getdefaultencoding()   查看Python的 ...

  4. Codeigniter框架前后台部署(多目录部署)

    个网站一般包含前台和后台并且访问的url是不同的,Codeigniter怎么来部署呢? 在网上看到了一篇比较好的文章: 在下载好的ci的根目录建立一个目录 admin 将application目录中的 ...

  5. gitlab 安装提速

    因为城墙的问题必须该用国内的taobao源 # 更换源地址gem sources --remove https://rubygems.org/ gem sources -a http://ruby.t ...

  6. JavaScript语言精粹 笔记04 数组

    数组1 数组字面量2 长度3 删除4 列举5 混淆的地方6 方法7 维度 数组1 数组字面量 var empty = []; var numbers = [ 'zero', 'one', 'two', ...

  7. 学习python4

    文件系统实现文件的增删改查 UnicodeDecodeError: 'gbk' codec can't decode byte 0x9a in position 8: illegal multibyt ...

  8. Rsync+Inotify实现文件自动同步

    1>rsync概述 rsync的优点与不足 rsync与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求 ...

  9. [转]一次Delete&Insert引发的Mysql死锁

    近日遇到一个比较奇怪的deadlock错误, 错误详情: Deadlock found when trying to get lock; try restarting transaction; nes ...

  10. C# 二维码生成——QRCode

    C#二维码生成,这里使用开源的ThoughtWorks.QRCode.dll库. 步骤: 1.下载ThoughtWorks.QRCode.dll库文件,并引用到项目中. 2.创建QRCodeHandl ...