el-table表头上下显示内容

实现效果:

代码如下:

html 复制代码
 <el-table
        ref="refTable"
        :data="tableConfig.tableData"
        v-loading="tableConfig.loading"
        style="width: 100%; margin: 0 auto"
        height="100%"
        align="center"
        row-key="id"
        stripe
        size="medium"
        theme="lcs"
        border
      >
        <template v-for="(item, index) in tableConfig.viewColumns" :key="index">
          <el-table-column v-if="item.prop === 'designNoteContent'" :fixed="item.fixed" :prop="item.prop" :align="item.align" :min-width="item.width" :show-overflow-tooltip="true">
            <template #header>
              <div style="display: flex; flex-direction: column; align-items: center; line-height: 1.4">
                <span>{{ '设通号' }}</span>
                <span style="font-size: 12px; color: #606266; margin-top: 2px">DESIGN NOTE #</span>
              </div>
            </template>
            <template #default="scope">
              <a class="mc" titleContent="" @click="handleClickNoticeAppendix(scope.row)">
                {{ scope.row.designNoteContent }}
              </a>
            </template>
          </el-table-column>
          <el-table-column v-else :fixed="item.fixed" :prop="item.prop" :align="item.align" :min-width="item.width" :show-overflow-tooltip="true">
            <template #header>
              <div style="display: flex; flex-direction: column; align-items: center; line-height: 25px">
                <span>{{ getChineseLabel(item.label) }}</span>
                <span style="font-size: 12px; color: #606266; margin-top: 2px; line-height: 25px">
                  {{ getEnglishLabel(item.label) || '&nbsp;' }}
                </span>
              </div>
            </template>
          </el-table-column>
        </template>

        <el-table-column label="操作" align="center" fixed="right" min-width="180">
          <template #default="scope">
            <div class="lcs-table-button--group" style="justify-content: center">
              <div class="lcs-button-box">
                <div class="lcs-button">
                  <el-button class="elTbaleButton" link @click="handleClickInterface(scope.row)">{{ '接口' }}</el-button>
                  <el-button class="elTbaleButton" link @click="handleClickNoticeAppendix(scope.row)">{{ '详情' }}</el-button>
                  <el-button class="elTbaleButton" link style="color: #efaf41" @click="handleClickRowDel(scope.row)">{{ '移除' }}</el-button>
                </div>
              </div>
            </div>
          </template>
        </el-table-column>
      </el-table>
javascript 复制代码
//表格数据
const tableConfig = reactive({
  tableData: [],
  page: 1,
  pageSize: 10,
  total: 0,
  loading: false,
  viewColumns: [
    { prop: 'issue_reason', width: '220', align: 'center', label: '发行理由ISSUE REASON', fixed: false },
    { prop: 'destination', width: '150', align: 'center', label: '目的地DEST', fixed: false },
    { prop: 'requect_section', width: '150', align: 'center', label: '请求阶段REQUEST', fixed: false }
  ],
  showMore: false
})


// 提取标签中的中文部分
const getChineseLabel = (label) => {
  if (!label) return ''
  // 提取中文部分(包括中文符号)
  const chineseMatch = label.match(/^[\u4e00-\u9fa5]+/)
  return chineseMatch ? chineseMatch[0] : label
}

// 提取标签中的英文部分
const getEnglishLabel = (label) => {
  if (!label) return ''
  // 提取英文部分(包括#符号)
  const englishMatch = label.match(/[A-Z\s#]+$/)
  return englishMatch ? englishMatch[0] : ''
}
css 复制代码
<style lang="scss" scoped>
::v-deep .el-table th.el-table__cell > .cell {
  white-space: nowrap !important;
}
::v-deep .el-table--small .el-table__cell {
  padding: 0px;
}

::v-deep .el-table .el-table__cell {
  padding: 0px;
}

::v-deep .el-table__body .el-table__cell {
  padding: 2px 0px;
}

</style>
相关推荐
还是大剑师兰特19 小时前
Vue3 中的 defineExpose 完全指南
前端·javascript·vue.js
泯泷19 小时前
阶段一:从 0 看懂 JSVMP 架构,先在脑子里搭出一台最小 JSVM
前端·javascript·架构
华洛20 小时前
利好打工人,openclaw不是企业提效工具,而是个人助理
前端·javascript·产品经理
xkxnq21 小时前
第六阶段:Vue生态高级整合与优化(第93天)Element Plus进阶:自定义主题(变量覆盖)+ 全局配置与组件按需加载优化
前端·javascript·vue.js
A黄俊辉A21 小时前
vue css中 :global的使用
前端·javascript·vue.js
灵感__idea1 天前
Hello 算法:复杂问题的应对策略
前端·javascript·算法
chushiyunen1 天前
python中的内置属性 todo
开发语言·javascript·python
soso19681 天前
JavaScript性能调优实战案例
javascript
Moment1 天前
前端工程化 + AI 赋能,从需求到运维一条龙怎么搭 ❓❓❓
前端·javascript·面试
Joker Zxc1 天前
【前端基础(Javascript部分)】6、用JavaScript的递归函数和for循环,计算斐波那契数列的第 n 项值
开发语言·前端·javascript