el-table怎么实现表头换行,有哪些方式?
Admin 2022-06-21 群英技术资讯 1439 次浏览
在实际应用中,我们有时候会遇到“el-table怎么实现表头换行,有哪些方式?”这样的问题,我们该怎样来处理呢?下文给大家介绍了解决方法,希望这篇“el-table怎么实现表头换行,有哪些方式?”文章能帮助大家解决问题。表格中的表头一般都是不换行的,不过有时候在某些业务场景中,需要让表头的文字换行展示一下,我们先看一下效果图

看注释就行啦。
演示的话,直接复制粘贴运行就行啦
<template>
<div class="vueWrap">
<el-table
style="width: 900px"
:data="tableBody"
border
:header-cell-style="{
background: '#FAFAFA',
color: '#333333',
fontWeight: 'bold',
fontSize: '14px',
}"
>
<el-table-column
type="index"
label="序号"
width="58"
align="center"
></el-table-column>
<!-- 表头换行方式一,使用头部插槽方式,将表头文字拆分在两个div中,因为div盒子是块元素
所以两个div会换行,所以表头就换行了,此方式适用于固定数据的表头换行 -->
<el-table-column prop="toolName" width="180" align="center">
<template slot="header">
<div>工具箱</div>
<div>零件名称</div>
</template>
<template slot-scope="scope">
<span>{{ scope.row.toolName }}</span>
</template>
</el-table-column>
<el-table-column label="供应商" prop="supplier" width="120" align="center">
</el-table-column>
<!-- 表头换行方式二,较之于方式一,这种方式是/n换行符,加css的white-space空白样式控制-->
<el-table-column
:label="labelFn()"
prop="supplierCountry"
width="180"
align="center"
>
</el-table-column>
<!-- 表头换行方式三,动态方式 -->
<el-table-column
v-for="(item, index) in tableHeader"
:key="index"
:label="item.labelName"
:prop="item.propName"
width="180"
align="center"
:render-header="renderheader"
></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
// 动态数据表头就需要让后端返回来了,让其在需要换行的地方用逗号分隔开
tableHeader: [
{
labelName: "型号001,价格(元)",
propName: "typeOne",
},
{
labelName: "型号002,价格(元)",
propName: "typeTwo",
},
],
// 表体数据
tableBody: [
{
id: "2021111101",
toolName: "5G服务",
supplier: "华为",
supplierCountry: "中国",
typeOne: "8888888",
typeTwo: "9999999",
},
{
id: "2021111101",
toolName: "6G-SERVER",
supplier: "中华有为",
supplierCountry: "CHINA",
typeOne: "678678678",
typeTwo: "789789789",
},
],
};
},
methods: {
labelFn() {
// 在需要换行的地方加入换行符 \n ,在搭配最底下的white-space样式设置
return `供应商\n所属国家`;
},
// 饿了么UI的表头函数渲染方式,这种方式和表头插槽方式有点类似
// 也是把表头的数据文字分割成两块,然后将内容渲染到两个div中(div自动换行)
renderheader(h, { column, $index }) {
return h("div", {}, [
h("div", {}, column.label.split(",")[0]),
h("div", {}, column.label.split(",")[1]),
]);
},
},
};
</script>
<style lang="less" scoped>
/deep/ .el-table th.el-table__cell > .cell {
white-space: pre;
// white-space: pre-wrap; // 也行。
}
</style>
关于white-space不赘述,详情查询官方文档 developer.mozilla.org/zh-CN/docs/Web/CSS/white-space
三种方式各有特色,但是render-header会略为耗费一点点性能。
若为固定表头数据,则优先推荐使用表头插槽方式,其次推荐换行符加css方式。
若为动态数据,则只能使用表头renderheader函数了
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录前言ThreeJS 基础——实现转动的球体ThreeJS 纹理——实现转动的地球交互式雪糕地球添加 loading 效果前言最近的天气有几分酷热,去实验室的道路也有几分漫长,走着走着,小包感觉灵魂已经被热出窍了。回到实验室,把空调打开,雪糕吃上,静坐了几分钟,才重新感觉到灵魂的滋味,葛优躺在实验室的小床上,思维开始
根据构造函数判断(妈妈)instanceofconstructor根据原型对象判断(爸爸)__proto__Object.getPrototypeOf()Array.prototype.isPrototypeOf()根据Object的原型对象判断(祖先
这篇文章主要介绍了解决Vue大括号字符换行踩的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要为大家详细介绍了JS实现图片上下切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
今天我们来学习JS的变量提升与函数提升的内容,对于JS的变量提升与函数提升究竟是什么提升呢?顺序是怎样的呢?接下来我们一一的详细的了解一下。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008