elementUI中Vue 2方式<el-table>表格中列表列头内容过长,不换行处理

使用render-header属性
<el-table-column
 ...
 :render-header="headerRender"
></el-table-column>

render-header
复制代码
methods: {
  headerRenderer(h, { column }) {
    // 使用h函数创建VNode,防止表头内容换行
    return h(
      'div',
      {
        style: {
          whiteSpace: 'nowrap', // 防止文本换行
          overflow: 'hidden', // 隐藏超出部分
          textOverflow: 'ellipsis', // 超出部分显示省略号
        },
      },

//这里是为了设置排序按钮
  [
  h('span', column.label),
   h('span', {
class: 'sort-icon-container',
  }, [
   h('i', { class: 'el-icon-caret-up' }),
   h('i', { class: 'el-icon-caret-down' }),
  ]),
  ]
); }, },
复制代码

这段代码中,我们使用Vue的渲染函数h来创建表头单元格的内容,直接在其中设置了whiteSpace: 'nowrap'来避免文本换行,并通过overflowtextOverflow来处理可能的溢出情况,显示省略号。

这样,即便CSS样式因某种原因未生效,也能确保表头文字不换行并优雅地处理过长文本。

 
posted @   教练我想打篮球  阅读(1521)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2020-05-16 antd render vue中table树形数据全部展开
点击右上角即可分享
微信分享提示