解决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 相关文章推荐
浅析jQuery的链式调用之each函数
Dec 03 Javascript
jQuery easyui datagrid动态查询数据实例讲解
Feb 26 Javascript
JS定时器实例详细分析
Oct 11 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
Feb 12 Javascript
jQuery中on方法使用注意事项详解
Feb 15 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
vue-cli开发环境实现跨域请求的方法
Apr 07 Javascript
微信小程序仿RadioGroup改变样式的处理方案
Jul 13 Javascript
Vue常用指令详解分析
Aug 19 Javascript
js中switch语句的学习笔记
Mar 25 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学习 计数器实例代码
2008/06/15 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
PHP打印输出函数汇总
2016/08/28 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
基于Vue实现timepicker
2017/04/25 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
Python进行数据科学工作的简单入门教程
2015/04/01 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
Python中的id()函数指的什么
2017/10/17 Python
详解Python_shutil模块
2019/03/15 Python
python搜索包的路径的实现方法
2019/07/19 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
会计系毕业个人自荐信格式
2013/09/23 职场文书
现金出纳岗位职责
2014/03/15 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
大学社团活动总结
2014/04/26 职场文书
2014年检验员工作总结
2014/11/19 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python