骚操作解决elementui表格操作栏自适应栏宽
业务需要前端根据用户权限动态显示相应的按钮。操作栏的列宽如果直接写死,按钮少的时候就不好看了,于是想了个骚操作。。。写死宽的时候是这样的:开始到将宽度属性绑定到操作列:width="actionColWidth<80?80:actionColWidth"用divclass="action-col"...
设置数据中列宽的初始值actionColWidth:80,//表格数据中表格操作列宽请求返回后赋值给表格,执行计算宽度的操作。这里用jq获取表格第一行的所有按钮,然后把每个按钮的宽度加起来,就是操作栏的宽度。如果不用jq,可以用原生js。如果表格每一行的操作按钮不同,则获取每一行操作按钮的总宽度,然后取最大的。这里没有这个要求,就不写了。getClerkList(params).then((res)=>{this.tableData=res.rows;this.$nextTick(()=>{//给表格操作列宽25px,否则显示不完整letwidth=25;//使用jq遍历表格第一行的每个按钮进行操作$(".action-col").eq(0).children(".el-button").each(function(){//将每个按钮的宽度相加width+=$(this).outerWidth(true);});//将计算出的总宽度分配给action列宽度this.actionColWidth=width;});}).catch((err)=>{console.error(err);});看效果没有按钮时:有一个按钮:有两个按钮:有三个按钮: