[本文出自天外归云的博客园]

需求

1. 某列表头文字内容过长,要对每列表头自定义宽度

2. 表格row的每一column文字不换行,超过列宽则省略,mouseover有提示

3. 对于label做滤值处理

实现

Vue文件主要代码如下:

<template>
<el-row>
<el-col :span="24">
<template>
<el-table :data="tableData">
<!--设置show-overflow-tooltip为true使row中的文字有省略提示-->
<el-table-column :width="flexColumnWidth(column)" :show-overflow-tooltip="true" v-for="column in tableData.columns" :key="column" :label="customLabel(column)" :prop="column">
</el-table-column>
</el-table>
</template>
</el-col>
</el-row>
</template>
<script>
export default{
data() {
return {
tableData : {
'columns': ['测试列头含有中文且长度过长的情况','test the column th is so long in English','c3'],
'rows': [
{
'测试列头含有中文且长度过长的情况': 'v1',
'test the column th is so long in English': 'v2',
'c3': 'v3'
},
]
},
methods: {
// 自定义label内容过滤器
customLabel(str) {
let ret = ''
for (const char of str) {
// 例:滤掉空格
if (char !== ' '){
ret += char
}
}
return ret
},
// 自定义表头列宽
flexColumnWidth(str) {
let flexWidth = 0
for (const char of str) {
if ((char >= 'A' && char <= 'Z') || (char >= 'a' && char <= 'z')) {
// 如果是英文字符,为字符分配8个单位宽度
flexWidth += 8
} else if (char >= '\u4e00' && char <= '\u9fa5') {
// 如果是中文字符,为字符分配20个单位宽度
flexWidth += 20
} else {
// 其他种类字符,为字符分配5个单位宽度
flexWidth += 5
}
}
if (flexWidth < 50) {
// 设置最小宽度
flexWidth = 200
}
if (flexWidth > 250) {
// 设置最大宽度
flexWidth = 250
}
return flexWidth + 'px'
},
}
}
}
})

Vue+element组合el-table-column表头宽度自定义的更多相关文章

  1. vue+element 根据内容计算单元格的宽度

    需求是这样的,之前我也写过,就是前端渲染的表格数据是动态渲染表格的行和列, 那么就必然出现了一个问题,当列超过一定的个数的时候,会出现横向滚动条, 那么怎么让表格整体看起来自然协调一些呢,老大要求表格 ...

  2. vue + element ui 表格自定义表头,提供线上demo

    前言:工作中用到 vue+element ui 的前端框架,需要使用自定义表头,需要使用 re.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9710826.h ...

  3. Vue+element ui table 导出到excel

    需求: Vue+element UI table下的根据搜索条件导出当前所有数据 参考: https://blog.csdn.net/u010427666/article/details/792081 ...

  4. VUE +element el-table运用sortable 拖拽table排序,实现行排序,列排序

    Sortable.js是一款轻量级的拖放排序列表的js插件(虽然体积小,但是功能很强大) 项目需求是要求能对element中 的table进行拖拽行排序 这里用到了sorttable Sortable ...

  5. 封装Vue Element的可编辑table表格组件

    前一段时间,有博友在我那篇封装Vue Element的table表格组件的博文下边留言说有没有那种"表格行内编辑"的封装组件,我当时说我没有封装过这样的组件,因为一直以来在实际开发 ...

  6. vue+element对常用表格的简单封装

    在后台管理和中台项目中, table是使用率是特别的高的, 虽然element已经有table组件, 但是分页和其他各项操作还是要写一堆的代码, 所以就在原有的基础上做了进一步的封装 所涵盖的功能有: ...

  7. 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查询,列表展示和字段转义处理

    在我们一般开发的系统界面里面,列表页面是一个非常重要的综合展示界面,包括有条件查询.列表展示和分页处理,以及对每项列表内容可能进行的转义处理,本篇随笔介绍基于Vue +Element基础上实现表格列表 ...

  8. 循序渐进VUE+Element 前端应用开发(10)--- 基于vue-echarts处理各种图表展示

    在我们做应用系统的时候,往往都会涉及图表的展示,综合的图表展示能够给客户带来视觉的享受和数据直观体验,同时也是增强客户认同感的举措之一.基于图表的处理,我们一般往往都是利用对应第三方的图表组件,然后在 ...

  9. 循序渐进VUE+Element 前端应用开发(21)--- 省市区县联动处理的组件使用

    在很多应用中,往往都涉及到记录用户所在省份.城市.区县或者街道等信息,一般我们可以通过联动的Select或者类似的界面组件进行展示,或者使用Element中的el-cascader界面组件进行展示,而 ...

随机推荐

  1. 如何下载离线Adobe软件教程

    在如今好多软件官网上面都不支持离线安装包下载,仅仅只留下一个在线安装,那么面对这种情况我们应该如何去做?在这里我先提供一个常用的PDF阅读器离线安装包下载地址,在文章后面会有教程. Adobe Acr ...

  2. C# JSON帮助类(可互转)

    public class JsonHelper { public JsonHelper() { // // TODO: Add constructor logic here // } /// < ...

  3. 汉化 android studio

    Analyze APK...android.jar\com\android\tools\idea\apk\viewer AnalyzeApkAction.class

  4. Codeforces.914D.Bash and a Tough Math Puzzle(线段树)

    题目链接 \(Description\) 给定一个序列,两种操作:一是修改一个点的值:二是给一个区间\([l,r]\),问能否只修改一个数使得区间gcd为\(x\). \(Solution\) 想到能 ...

  5. Windows 文件名的书写规范

    下面是不能用于文件名的: / \ : * " < > | windows系统下文件名长度为: 255个英文字符(DOS下8.3格式),包括文件名和扩展名在内,或者是255/2=1 ...

  6. BZOJ2509 : 送分题

    求出每个点向上下左右能延伸的最大长度$left$.$right$.$up$.$down$. 枚举每一条对角线,如果$j$可以作为左上角,$i$可以作为右下角,那么有: $j+\min(down[j], ...

  7. 【11.8校内测试】【倒计时2天】【状压DP】【随机化?/暴力小模拟】

    Solution 数据范围疯狂暗示状压,可是一开始发现状态特别难受. 将每一层的奇偶性状压,预处理所有状态的奇偶性.每一层的输入代表的其实可以是下一层某个点可以被从这一层哪些点转移到. 所以枚举每个状 ...

  8. CocosCreator原生平台退出游戏,暂停和继续

    原生平台退出游戏,方法为:cc.director.end();官方解释:End the life of director in the next frame暂停游戏,方法: cc.director.p ...

  9. String literal is not properly closed by a double-quote eclipse

    中文乱码, 解决方法之一就是更改工程的编码方式. 首先选择工程,右键打开property窗口,resource下的text  file incoding,看看是不是选择的utf-8,如果不是的话更改为 ...

  10. [CGAL]带岛多边形三角化

    CGAL带岛多边形三角化,并输出(*.ply)格式的模型 模型输出的关键是节点和索引 #include <CGAL/Triangulation_vertex_base_with_id_2.h&g ...