解决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 相关文章推荐
JavaScript中的History历史对象
Jan 16 Javascript
node.js中的fs.lstatSync方法使用说明
Dec 16 Javascript
Javascript节点关系实例分析
May 15 Javascript
基于jquery实现省市联动效果
Nov 23 Javascript
基于jquery实现日历签到功能
Sep 11 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
使用async、enterproxy控制并发数量的方法详解
Jan 02 Javascript
微信小程序slider组件使用详解
Jan 31 Javascript
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
vue 项目build错误异常的解决方法
Apr 22 Javascript
layui输入框只允许输入中文且判断长度的例子
Sep 18 Javascript
vue实现商品列表的添加删除实例讲解
May 14 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实现WEB动态网页静态
2006/10/09 PHP
精通php的十大要点(上)
2009/02/04 PHP
php 更新数据库中断的解决方法
2009/06/05 PHP
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
javascript new一个对象的实质
2010/01/07 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
浅谈JS中String()与 .toString()的区别
2016/10/20 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
python中日期和时间格式化输出的方法小结
2015/03/19 Python
各个系统下的Python解释器相关安装方法
2015/10/12 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
创先争优承诺书范文
2014/03/31 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
2015年新农合工作总结
2015/03/30 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
分析Python list操作为什么会错误
2021/11/17 Python
 python中的元类metaclass详情
2022/05/30 Python