最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

elementplus el-table(行列互換)轉置的兩種方法

 更新時間:2024年06月25日 09:39:00   作者:qq_21138747  
本文主要介紹了elementplus el-table(行列互換)轉置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

方案一:

Element Plus v2.4.0, repl v3.4.0

<template>
<div>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column prop="name" label="名字" width="180" />
    <el-table-column prop="weight" label="重量" width="180" />
    <el-table-column prop="maxWeight" label="最大重量" width="180" />
    <el-table-column prop="height" label="高度" width="180" />
    <el-table-column prop="width" label="寬度" width="180" />
    <el-table-column prop="speed" label="速度" width="180" />
  </el-table>
  <!-- 轉置代碼 -->
  <div>轉置table</div>
  <el-table :data="trans_tableData" style="width:100%">
        <el-table-column
          prop="title"
          label="">
        </el-table-column>
        <el-table-column
          v-for="(item,index) in props"
          :key="index"
          :prop="item.value"
          :label="item.label">
          <template v-slot:header>
            <span v-html="item.label"></span>
          </template>
          <template v-slot="{ row }">
            <span>{{ row[item.value] }}</span>
          </template>
        </el-table-column>
</el-table>
</div>
</template>

<script lang="ts" setup>
let tableData = [
        {
          name: '殲-20',
          weight: '25噸',
          maxWeight: '37噸',
          height: '4.69米',
          width: '21.2米',
          speed: '2馬赫'
        },
        {
          name: '殲-20-1',
          weight: '25噸-1',
          maxWeight: '37噸-1',
          height: '4.69米-1',
          width: '21.2米-1',
          speed: '2馬赫-1'
        }
      ]
const props = tableData.map((t) => {
    return {
        label: t.name,
        value: t.id || t.name
    }
})
console.log("props=",props)
function isExist (newArr, name) {
    for (let i = 0; i < newArr.length; i++) {
        if (newArr[i].title === name) {
            return newArr[i]
        }
    }
    return false
}
  /**
 *  定義映射字段表(最好取全量字段)
 * */
const mapObj = {
        name: '名稱',
        weight: '重量',
        maxWeight: '最大載重',
        height: '高度',
        width: '寬度',
        speed: '速度'
    }
const newArr = []
for (const t in mapObj) {
    for (let i = 0; i < tableData.length; i++) {
        const item = tableData[i]
        const result = isExist(newArr, mapObj[t])
        if (result) {
            result[item.name] = item[t] || ''
        } else {
            const obj = {}
            obj.title = mapObj[t]
            obj[item.name] = item[t] || ''
            newArr.push(obj)
        }
    }
}
console.log("newArr",newArr)
const trans_tableData = newArr
</script>

結果如下:

在這里插入圖片描述

方案二:

首先在elementui中 label 的值會被編譯成表頭名字,數組是按列逐個渲染,因此后端傳過來的數組格式為 一個大數組里面有多個小數組,第一個數組為表頭名稱,其余數組為每行的數據值

Data=[
['產品產量(噸)\時間','2022-04-11','2022-04-12','2022-04-13','2022-04-14'],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]
]

當接收到后端穿的數組后進行處理,把表頭數組單拿出來賦值為tableHead ,yieldData 即為數組行數據

 getApi().then(res => {
        if (res.status === 200) {
          this.tableHead = res.data[0]
          this.yieldData = res.data
          this.yieldData.shift()
        }
      })

有了以上數據,則可以渲染數組,表頭循環(huán)渲染,index 從0 開始,數據按列渲染

<el-table :data="yieldData" style="width: 100%"  height="100%">
      <el-table-column :label="item"  width="227"  v-for="(item, index) in tableHead"  :key="index">
              <template scope="scope">
                {{ scope.row[index] }}
              </template>
        </el-table-column>
</el-table>

到此這篇關于elementplus el-table(行列互換)轉置的兩種方法的文章就介紹到這了,更多相關element el-table行列互換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • vue 路由meta 設置導航隱藏與顯示功能的示例代碼

    vue 路由meta 設置導航隱藏與顯示功能的示例代碼

    這篇文章主要介紹了vue 路由meta 設置導航隱藏與顯示功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • vue預覽 pdf、word、xls、ppt、txt文件的實現(xiàn)方法

    vue預覽 pdf、word、xls、ppt、txt文件的實現(xiàn)方法

    這篇文章主要介紹了vue預覽 pdf、word、xls、ppt、txt文件的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vuex 的簡單使用

    vuex 的簡單使用

    vuex是一個專門為vue.js設計的集中式狀態(tài)管理架構。這篇文章主要介紹了vuex 的簡單使用,需要的朋友可以參考下
    2018-03-03
  • vue2.0 實現(xiàn)導航守衛(wèi)的具體用法(路由守衛(wèi))

    vue2.0 實現(xiàn)導航守衛(wèi)的具體用法(路由守衛(wèi))

    這篇文章主要介紹了vue2.0 實現(xiàn)導航守衛(wèi)的具體用法(路由守衛(wèi)),vue-route 提供的 beforeRouteUpdate 可以方便地實現(xiàn)導航守衛(wèi)(navigation-guards),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • vue中關于computed的this指向問題

    vue中關于computed的this指向問題

    這篇文章主要介紹了vue中關于computed的this指向問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Vue通過自定義指令實現(xiàn)內容替換的示例代碼

    Vue通過自定義指令實現(xiàn)內容替換的示例代碼

    這篇文章主要介紹了利用Vue通過自定義指令實現(xiàn)內容替換的方法,通過Vue.directive指令定義函數來實現(xiàn)內容自定義,通過指令定義函數的三個鉤子函數(inserted、componentUpdated、unbind)來實現(xiàn)自定義內容的掛載、更新和銷毀,需要的朋友可以參考下
    2025-03-03
  • vue實現(xiàn)側邊欄導航效果

    vue實現(xiàn)側邊欄導航效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)側邊欄導航效果,右側顯示對應內容,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 詳解Vue-cli 創(chuàng)建的項目如何跨域請求

    詳解Vue-cli 創(chuàng)建的項目如何跨域請求

    本篇文章主要介紹了詳解Vue-cli 創(chuàng)建的項目如何跨域請求 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Vue express鑒權零基礎入門

    Vue express鑒權零基礎入門

    這篇文章主要介紹了詳解express鑒權,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Vue.JS入門教程之自定義指令

    Vue.JS入門教程之自定義指令

    這篇文章主要為大家詳細介紹了Vue.JS入門教程之自定義指令,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論

榕江县| 海南省| 崇义县| 阿巴嘎旗| 江源县| 普安县| 乳源| 二连浩特市| 瑞安市| 永定县| 湖北省| 哈巴河县| 旬邑县| 奎屯市| 武夷山市| 景东| 名山县| 雷山县| 施甸县| 小金县| 如东县| 曲阜市| 自治县| 怀来县| 武宣县| 绥宁县| 晋宁县| 任丘市| 昭觉县| 保德县| 盐山县| 丰原市| 吉木萨尔县| 边坝县| 双辽市| 久治县| 准格尔旗| 瑞安市| 商都县| 香港 | 西城区|