欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解el-table表頭文字換行的三種方式

 更新時(shí)間:2021年11月11日 14:18:04   作者:水冗水孚  
本文主要介紹了el-table表頭文字換行的三種方式,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

問題描述

表格中的表頭一般都是不換行的,不過有時(shí)候在某些業(yè)務(wù)場(chǎng)景中,需要讓表頭的文字換行展示一下,我們先看一下效果圖

效果圖

三種方式的代碼

看注釋就行啦。
演示的話,直接復(fù)制粘貼運(yùn)行就行啦

<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="序號(hào)"
        width="58"
        align="center"
      ></el-table-column>

      <!-- 表頭換行方式一,使用頭部插槽方式,將表頭文字拆分在兩個(gè)div中,因?yàn)閐iv盒子是塊元素
           所以兩個(gè)div會(huì)換行,所以表頭就換行了,此方式適用于固定數(shù)據(jù)的表頭換行 -->
      <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="供應(yīng)商" 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>

      <!-- 表頭換行方式三,動(dòng)態(tài)方式 -->
      <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 {
      // 動(dòng)態(tài)數(shù)據(jù)表頭就需要讓后端返回來了,讓其在需要換行的地方用逗號(hào)分隔開
      tableHeader: [
        {
          labelName: "型號(hào)001,價(jià)格(元)",
          propName: "typeOne",
        },
        {
          labelName: "型號(hào)002,價(jià)格(元)",
          propName: "typeTwo",
        },
      ],
      // 表體數(shù)據(jù)
      tableBody: [
        {
          id: "2021111101",
          toolName: "5G服務(wù)",
          supplier: "華為",
          supplierCountry: "中國(guó)",
          typeOne: "8888888",
          typeTwo: "9999999",
        },
        {
          id: "2021111101",
          toolName: "6G-SERVER",
          supplier: "中華有為",
          supplierCountry: "CHINA",
          typeOne: "678678678",
          typeTwo: "789789789",
        },
      ],
    };
  },
  methods: {
    labelFn() {
      // 在需要換行的地方加入換行符 \n  ,在搭配最底下的white-space樣式設(shè)置
      return `供應(yīng)商\n所屬國(guó)家`;
    },

    // 餓了么UI的表頭函數(shù)渲染方式,這種方式和表頭插槽方式有點(diǎn)類似
    // 也是把表頭的數(shù)據(jù)文字分割成兩塊,然后將內(nèi)容渲染到兩個(gè)div中(div自動(dòng)換行)
    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>

關(guān)于white-space不贅述,詳情查詢官方文檔 developer.mozilla.org/zh-CN/docs/Web/CSS/white-space

總結(jié)

三種方式各有特色,但是render-header會(huì)略為耗費(fèi)一點(diǎn)點(diǎn)性能。
若為固定表頭數(shù)據(jù),則優(yōu)先推薦使用表頭插槽方式,其次推薦換行符加css方式。
若為動(dòng)態(tài)數(shù)據(jù),則只能使用表頭renderheader函數(shù)了

到此這篇關(guān)于el-table表頭文字換行的三種方式的文章就介紹到這了,更多相關(guān)el-table表頭文字換行的三種方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • vue中keep-alive內(nèi)置組件緩存的實(shí)例代碼

    vue中keep-alive內(nèi)置組件緩存的實(shí)例代碼

    這篇文章主要介紹了vue中的keep-alive內(nèi)置組件緩存,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • graphQL在前端vue中使用實(shí)例代碼

    graphQL在前端vue中使用實(shí)例代碼

    這篇文章主要介紹了graphQL在前端vue中使用過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • vue3?HTTP請(qǐng)求中的axios示例詳解

    vue3?HTTP請(qǐng)求中的axios示例詳解

    Axios?是一個(gè)簡(jiǎn)單的基于?promise?的?HTTP?客戶端,適用于瀏覽器和?node.js。Axios?在具有非??蓴U(kuò)展的接口的小包中提供了一個(gè)簡(jiǎn)單易用的庫(kù),這篇文章主要介紹了vue3-HTTP請(qǐng)求之a(chǎn)xios,需要的朋友可以參考下
    2022-12-12
  • vue中el-form-item展開項(xiàng)居中的實(shí)現(xiàn)方式

    vue中el-form-item展開項(xiàng)居中的實(shí)現(xiàn)方式

    這篇文章主要介紹了vue中el-form-item展開項(xiàng)居中的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue?通過this.$emit()方法子組件向父組件傳值(步驟分享)

    Vue?通過this.$emit()方法子組件向父組件傳值(步驟分享)

    這篇文章主要介紹了Vue?this.$emit()方法通過子組件向父組件傳值,第一步在父組件中引入子組件,第二步子組件向父組件傳值,本文通過需要的朋友可以參考下
    2022-11-11
  • Vue中如何實(shí)現(xiàn)字符串換行

    Vue中如何實(shí)現(xiàn)字符串換行

    這篇文章主要介紹了Vue中如何實(shí)現(xiàn)字符串換行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue 掛載路由到頭部導(dǎo)航的方法

    vue 掛載路由到頭部導(dǎo)航的方法

    本篇文章主要介紹了vue 掛載路由到頭部導(dǎo)航的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • vue項(xiàng)目中echarts自適應(yīng)問題的高級(jí)解決過程

    vue項(xiàng)目中echarts自適應(yīng)問題的高級(jí)解決過程

    雖然老早就看過很多echarts的例子,但自己接觸的項(xiàng)目中一直都沒有真正用到過,直到最近才開始真正使用,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中echarts自適應(yīng)問題的高級(jí)解決過程,需要的朋友可以參考下
    2023-05-05
  • Vue中添加滾動(dòng)事件設(shè)置的方法詳解

    Vue中添加滾動(dòng)事件設(shè)置的方法詳解

    這篇文章主要給大家介紹了關(guān)于Vue中添加滾動(dòng)事件設(shè)置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Vue3后臺(tái)管理系統(tǒng)之創(chuàng)建和配置項(xiàng)目

    Vue3后臺(tái)管理系統(tǒng)之創(chuàng)建和配置項(xiàng)目

    后臺(tái)管理系統(tǒng)是我們?nèi)粘i_發(fā)學(xué)習(xí)經(jīng)常遇到的一個(gè)項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于Vue3后臺(tái)管理系統(tǒng)之創(chuàng)建和配置項(xiàng)目的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09

最新評(píng)論