解决elementui表格操作列自适应列宽


Posted in Javascript onDecember 28, 2020

业务需要前端根据用户权限动态显示对应按钮,直接把操作列的列宽写死的话,在按钮少的情况下不是那么好看,所以想到了一个骚操作...

写死宽度时是这样的:

解决elementui表格操作列自适应列宽

开始

给操作列绑定宽度属性

:width="actionColWidth < 80 ? 80 : actionColWidth"

把操作列的所有按钮用一个div套起来

class="action-col"

<div class="action-col">
 <el-button></el-button>
 ...
</div>

data里设置列宽初始值

actionColWidth: 80, //表格操作列宽度

在表格数据请求回来赋值给表格之后,执行计算宽度的操作

这里是用jq获取表格第一行的全部按钮,然后把每个按钮的宽度加起来,就是操作列的宽度。

不用jq的话用原生js也行。

如果表格每一行的操作按钮是不一样的,那么就获取每一行操作按钮的总宽度,然后取最大的就行。这里没有这个需求,就不写了。

getClerkList(params)
 .then((res) => {
  this.tableData = res.rows;

  this.$nextTick(() => {
  // 给表格操作列宽度多出25px,否则显示不完整
  let width = 25;
  // 使用jq遍历表格第一行操作列里的每一个按钮
  $(".action-col")
   .eq(0)
   .children(".el-button")
   .each(function () {
   // 把每个按钮的宽度加起来
   width += $(this).outerWidth(true);
   });
  // 把计算好的总宽度赋值给操作列宽
  this.actionColWidth = width;
  });
 })
 .catch((err) => {
  console.error(err);
 });

看一下效果

没有按钮时:

解决elementui表格操作列自适应列宽

有一个按钮:

解决elementui表格操作列自适应列宽

有两个按钮:

解决elementui表格操作列自适应列宽

有三个按钮:

解决elementui表格操作列自适应列宽

到此这篇关于解决elementui表格操作列自适应列宽的文章就介绍到这了,更多相关elementui表格自适应列宽内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js判断浏览器的比较全的代码
Feb 13 Javascript
Javascript 中的类和闭包
Jan 08 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
Dec 30 Javascript
javascript实现数独解法
Mar 14 Javascript
jquery+html5烂漫爱心表白动画代码分享
Aug 24 Javascript
用jquery获取自定义的标签属性的值简单实例
Sep 17 Javascript
JS完成画圆圈的小球
Mar 07 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
Sep 30 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
详解Vue 动态组件与全局事件绑定总结
Nov 11 Javascript
JS算法题之查找数字在数组中的索引位置
May 15 Javascript
vue+element-ui表格封装tag标签使用插槽
Jun 18 Javascript
微信小程序视频弹幕发送功能的实现
Dec 28 #Javascript
React实现todolist功能
Dec 28 #Javascript
mustache.js实现首页元件动态渲染的示例代码
Dec 28 #Javascript
11个Javascript小技巧帮你提升代码质量(小结)
Dec 28 #Javascript
vue中watch的用法汇总
Dec 28 #Vue.js
浅析vue中的nextTick
Dec 28 #Vue.js
js仿淘宝放大镜效果
Dec 28 #Javascript
You might like
一周学会PHP(视频)Http下载
2006/12/12 PHP
用PHP与XML联手进行网站编程代码实例
2008/07/10 PHP
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python实现八大排序算法
2016/08/13 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
Django实现celery定时任务过程解析
2020/04/21 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
新手上路标语
2014/06/20 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
创业计划书之甜品店
2019/09/18 职场文书
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server
Redis Cluster集群动态扩容的实现
2021/07/15 Redis
CSS使用伪类控制边框长度的方法
2022/01/18 HTML / CSS
Redis主从复制操作和配置详情
2022/09/23 Redis
python 使用pandas读取csv文件的方法
2022/12/24 Python