Element-UI中关于table表格的那些骚操作

在这里插入图片描述

最近的项目中使用到element-ui组件库,由于做的是后台管理系统,所以经常需要操作表格,编辑样式的过程中遇到一些问题,官网针对table给出了很多的api,自己可以自定义,基本能满足产品需求,但是没有给出具体的案例,网上的资料也比较简略,这里简单整理下一些常用的操作,如果有类似的功能可以做一个参考。

具体的使用方法还是建议仔细阅读官网-table章节:
https://element.eleme.cn/#/zh-CN/component/table#table-column-scoped-slot
该项目demo已上传github,欢迎大家下载:

# 克隆到本地
git clone git@github.com:Hanxueqing/Element-table.git# 安装依赖
npm install# 开启本地服务器localhost
npm run dev

项目地址:
https://github.com/Hanxueqing/Element-table

自定义列的内容
需求:在表格最后一栏添加操作按钮
在这里插入图片描述
通过slot-scope="scope"添加操作按钮,这是专门为我们提供的插槽,方便自定义添加不同的内容。

<el-table-column label="操作" width="160"><template slot-scope="scope"><el-button size="mini" type="primary" plain @click = "showIndex(scope.$index)">点击显示当前行下标</el-button></template>
</el-table-column>

根据下标可以对指定某一行进行操作
在这里插入图片描述
scope.row 获取当前属性值
通过scope.row属性名可以获取当前行对应的属性值

<el-table-column label="操作" width="160"><template slot-scope="scope"><el-button size="mini" type="primary" plain @click = "showName(scope.row.name)">点击获取姓名属性</el-button></template>
</el-table-column>

在这里插入图片描述
可以通过scope.row属性名和三目运算符给特殊的属性值设定样式

<el-table-column prop="name" :label="langConfig.table.name[lang]" width="200"><template slot-scope="scope"><div :class="scope.row.name === '王大虎' ? 'specialColor':''">{{scope.row.name}}</div></template>
</el-table-column>

编写specialColor样式,将字体颜色设置为红色

.specialColor{color:red;}

设置表头样式
需求:将表头样式改为背景色蓝色,字体颜色白色,字重400
在这里插入图片描述
header-cell-class-name
说明:表头单元格的 className 的回调方法,也可以使用字符串为所有表头单元格设置一个固定的 className。

类型:Function({row, column, rowIndex, columnIndex})/String

函数形式:将headerStyle方法传递给header-cell-class-name

<el-table :data="tableData[lang]" class="table" stripe border :header-cell-class-name="headerStyle">

编写headerStyle,返回class名称tableStyle

headerStyle ({row, column, rowIndex, columnIndex}) {return 'tableStyle'}

在style中编写tableStyle样式

<style lang = "scss">.tableStyle{background-color: #1989fa!important;color:#fff;font-weight:400;}
</style>

字符串形式:直接将tableStyle名称赋值给header-cell-class-name

<el-table :data="tableData[lang]" class="table" stripe border header-cell-class-name="tableStyle">

header-cell-style
说明:表头单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有表头单元格设置一样的 Style。

类型:Function({row, column, rowIndex, columnIndex})/Object

函数形式:将tableHeaderStyle方法传递给header-cell-style

<el-table :data="tableData[lang]" class="table" stripe border :header-cell-style='tableHeaderStyle'>

编写tableHeaderStyle方法,返回样式

tableHeaderStyle ({row, column, rowIndex, columnIndex}) {return 'background-color:#1989fa;color:#fff;font-weight:400;'}

对象形式:直接在对象中编写样式

<el-table :data="tableData[lang]" class="table" stripe border :header-cell-style="{
            'background-color': '#1989fa',
            'color': '#fff',
            'font-weight': '400'
        }">

header-row-class-name
说明:表头行的className 的回调方法,也可以使用字符串为所有表头行设置一个固定的 className。

类型:Function({row, rowIndex})/String

使用方式与header-cell-class-name类似

注意:header-row-class-name与header-cell-class-name的区别:

header-row-class-name是添加在tr上面的,header-cell-class-name是添加在th上面的。

header-row-class-name:
在这里插入图片描述
所以想让添加在tr上的样式显示,需要关闭element-ui中原本的th的样式,否则会被覆盖!(例如背景色)
在这里插入图片描述
header-cell-class-name:
在这里插入图片描述
header-row-style
说明:表头行的 style 的回调方法,也可以使用一个固定的 Object 为所有表头行设置一样的 Style。

类型:Function({row, rowIndex})/Object

使用方式与header-cell-style类似

设置行样式
需求:将表格中行的背景色设置为浅蓝色
在这里插入图片描述
row-class-name
说明:行的 className 的回调方法,也可以使用字符串为所有行设置一个固定的 className。

类型:Function({row, rowIndex})/String

使用方式与header-cell-class-name类似

row-style
说明:行的 style 的回调方法,也可以使用一个固定的 Object 为所有行设置一样的 Style。

类型:Function({row, rowIndex})/Object

使用方式与header-cell-style类似

函数形式:将tableRowStyle方法传给row-style

<el-table :data="tableData[lang]" class="table" border :row-style="tableRowStyle">

编写tableRowStyle方法,返回样式

// 修改table tr行的背景色tableRowStyle ({ row, rowIndex }) {return 'background-color:#ecf5ff'}

点击按钮操作当前行
需求:点击操作栏的按钮,切换按钮状态,并且将当前行置灰
在这里插入图片描述
通过slot-scope添加按钮

<el-table-column label="操作" width="160"><template slot-scope="scope"><el-button size="mini" type="danger" plain v-if = "scope.row.buttonVisible" @click = "changeTable(scope.row.buttonVisible,scope.$index)">禁用该行</el-button><el-button size="mini" type="primary" plain v-else @click = "changeTable(scope.row.buttonVisible,scope.$index)">启用该行</el-button></template>
</el-table-column>

在每一个data中添加buttonVisible字段,使用v-if/v-else指令实现按钮的显示与隐藏

{date: '2016-05-10',name: '王大虎',address: '上海市普陀区金沙江路 1518 弄',zip: 200333,buttonVisible: true
}

编写changeTable方法,点击按钮的时候更改buttonVisible的值

changeTable (buttonVisible, index) {this.tableData[index].buttonVisible = !buttonVisible
}

给el-table添加row-style,并且将tableRowStyle方法传递给row-style

<el-table :data="tableData" class="table" border :row-style="tableRowStyle">

编写tableRowStyle方法,根据每一行buttonVisible的值设置背景色

// 修改table tr行的背景色tableRowStyle ({ row, rowIndex }) {if (this.tableData[rowIndex].buttonVisible === false) {return 'background-color: rgba(243,243,243,1)'}}

Element-UI中关于table表格的那些骚操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

讯闪菜单密码去除方法

网上有很多关于讯闪菜单密码去除或补丁软件&#xff0c;但都没有把原理说出来&#xff0c;下面介绍方法&#xff1a;打开&#xff1a;讯闪目录\data\ClientCfg.ini查找&#xff1a;分类辅助d41d8cd98f00b204e9800998ecf8427e把分类辅助替换为&#xff1a;d41d8cd98f00b204e9800…

详细介绍 Qt Creator 快捷捷应用

From: http://www.zhujiangroad.com/program/Symbian/25211.html Qt Creator 快捷捷应用是本文要介绍的内容 。以前经常用VSQT的方式来学习QT&#xff0c;VS确实挺强大&#xff0c;不过每次编译Qt&#xff0c;太浪费时间&#xff0c;而且如果重装系统或者VS都必须重新编译&…

asp IIS部署An error occurred on the server when processing the URL错误提示解决

An error occurred on the server when processing the URL. Please contact the system administrator.If you are the system administrator please click here to find out more about this error.其实这是 IIS7 对 ASP 程序发送的一个脚本错误消息&#xff0c;只要是程序中…

修饰符.lazy .number .trim

1、lazy v-model 在每次 input 事件触发后将输入框的值与数据进行同步,也就是在失去焦点或者按下回车键时才更新 <template><div><p>.lazy修饰符</p><input type"text" v-model.lazy"val"><p>{{ val }}</p><…

使用Phar来打包发布PHP程序

简单来说&#xff0c;Phar就是把Java界的jar概念移植到了PHP界。 Phar可以将一组PHP文件进行打包&#xff0c;还可以创建默认执行的stub&#xff08;或者叫做 bootstrap loader&#xff09;&#xff0c;Phar可以选择是否进行压缩&#xff0c;可选gzip和bzip2格式。 下面举例说明…

asp.net动态加载css

谁如果有更直接的方法&#xff0c;请不吝赐教。也不知道.net有什么方法可以直接更换css <% Page Language"C#"AutoEventWireup"true"CodeFile"Default.aspx.cs"Inherits"_Default"%><!DOCTYPE html PUBLIC "-//W3C//DTD…

Qt Creator 使用技巧

From: http://www.developer.nokia.com/Community/Wiki/Qt_Creator_%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7 Qt Creator 使用技巧 简介 Qt Creator 作为Qt 开发的IDE&#xff0c;支持Qt 开发&#xff0c;及QML开发&#xff0c;能很好的发挥Qt 跨平台的特点&#xff0c;这里列举一…

Ubuntu下实现eth0与wlan0完美桥接

操作系统Ubuntu14.04LTS 1.搭载网桥模块 sudo apt-get install bridge-utils安装软件包 modprobe bridge//网上参考步骤&#xff0c;加载网桥模块&#xff0c;实际未用 cho "1">/proc/sys/net/ipv4/ip_forward//网上参考步骤&#xff0c;开启Ip转发功能&#xff0…

前端利用CryptoJS进行AES对称加解密(16进制编码)

加密相关JS https://www.npmjs.com/package/crypto-js 引入JS 使用示例&#xff1a; 附上原文代码方便大家自由使用 //加密 let key CryptoJS.enc.Utf8.parse(123456789qwertyu);//密钥必须是16位&#xff0c;且避免使用保留字符 let encryptedData CryptoJS.AES.encry…

RTMPT

转自http://www.openred5.com/bbs/viewthread.php?tid196 英文原地址&#xff1a;http://www.joachim-bauch.de/tutorials/red5/SPEC-RTMPT.html/view 等一段时间后我也去整理一个出来&#xff0c;因为现在还没有用到rtmpt&#xff0c;只用到rtmp和rtmpe&#xff0c;所以没有时…

前端学习(3339):ant design中加上icon图标

当需要在 Button 内嵌入 Icon 时&#xff0c;可以设置 icon 属性&#xff0c;或者直接在 Button 内使用 Icon 组件。 如果想控制 Icon 具体的位置&#xff0c;只能直接使用 Icon 组件&#xff0c;而非 icon 属性。 ReactDOM.render(<div><Button type"primary&qu…

Hello Qt(在Linux下编写运行Qt程序)

From: http://www.yafeilinux.com/?p763 <一>Hello Qt小试牛刀&#xff01; 说明&#xff1a;我们需要在Linux下已经安装了Qt。 1.下面是整个程序的详细介绍&#xff1a; #include <QApplication> //第一行是定义一个应用程序类<QApplication>的头文件&…

git pull提示当前branch没有跟踪信息

在执行git pull的时候&#xff0c;提示当前branch没有跟踪信息&#xff1a; git pull There is no tracking information for the current branch. Please specify which branch you want to merge with.对于这种情况有两种解决办法&#xff0c;就比如说要操作master吧&#x…

触发器三(行级DML触发器)(学习笔记)

行级DML触发器 每当一条记录出现更新操作时进行触发操作定义时要定义FOR EACH ROW 使用":old.字段"和":new.字段"标识符 No.触发语句 :old字段:new字段1INSERT 未定义&#xff0c;字段内容为NULLINSERT操作结束后&#xff0c;为增加数据值2UPDATE更新数据…

解开 Windows 下的临界区中的代码死锁(转)

摘要 临界区是一种防止多个线程同时执行一个特定代码节的机制&#xff0c;这一主题并没有引起太多关注&#xff0c;因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时&#xff0c;对 Windows 中临界区的深刻理解非常有用。 本文深入研究临界区的原理&#xff0c…

用Python和Pygame写游戏-从入门到精通(1)

From: http://eyehere.net/2011/python-pygame-novice-professional-1/ 博客刚开&#xff0c;打算做一个Pygame的系列&#xff0c;翻译自Will McGugan的《Beginning Game Development with Python and Pygame –From Novice to Professional》&#xff0c;有兴趣的朋友可以搜一…

解决el-select后台一次返回大数据量渲染慢导致页面卡顿的问题

场景一 解决了一次性渲染大量数据问题 业务场景是后台一次返回10万多条数据需要在下拉框中展示,直接渲染会导致页面卡顿且需要很长时间等待,用户体验极差,所以我把这个改造了一下,直接上代码, 里面注释写的很清楚了就不解释了. <template><div class"content&q…

c++ primer 笔记 (二)

第二章笔记 &#xff08;貌似记得有点多&#xff09; 把负值赋给unsigned对象时完全合法的&#xff0c;其结果是该负数对该类型的取值个数求模后的值 -1 &#xff08;对265求模&#xff09; 255float型只能保证6位有效数字&#xff0c;而double型至少可以保证10位有效数…