VUE2.0+ElementUI2.0表格el-table循環(huán)動態(tài)列渲染的寫法詳解
先看看ElementUI里關(guān)于el-table的template數(shù)據(jù)結(jié)構(gòu):
<template>
<el-table
:data="tableData"
style="width: 100%">
<el-table-column
prop="date"
label="日期"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="地址">
</el-table-column>
</el-table>
</template>
再看看ElementUI里關(guān)于el-table的data數(shù)據(jù)結(jié)構(gòu):
<script>
export default {
data() {
return {
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路 1516 弄'
}]
}
}
}
</script>
那么問題來了,如果有很多prop怎么辦?比如幾百個?那就要用到循環(huán)結(jié)構(gòu)了,獲取到data數(shù)據(jù)之后,template的代碼可以這樣改:

請忽略上圖代碼中的其他參數(shù),看v-for指令,里面的positionList對應(yīng)的是el-table 里 :data="tableData",把它的任意數(shù)組里對象的key取出來就好了
細(xì)心的小伙伴已經(jīng)發(fā)現(xiàn)了,我還用了動態(tài)的width,為了解決不同字?jǐn)?shù)長度的表頭折行顯示的問題,這里的數(shù)據(jù)存在了positionKey的對象里,專門用來匹配到途中代碼通過v-for循環(huán)對應(yīng)的index(key)一致,從而獲取到對應(yīng)的width,為了方便使用,positionKey的數(shù)據(jù)結(jié)構(gòu)是這樣的:
export const positionKey= {
key1: {
title: '表頭對應(yīng)的文字1',
width: 100
},
key2: {
title: '表頭對應(yīng)的文字2',
width: 120
},
key3: {
title: '表頭對應(yīng)的文字3',
width: 110
},
}
這種數(shù)據(jù)結(jié)構(gòu)也為后期的自定義拖拽配置動態(tài)列做了預(yù)備~
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue2+element?ui?中的el-table?選中當(dāng)前行當(dāng)前行變色的實現(xiàn)代碼
- Vue2+Element-ui實現(xiàn)el-table表格自適應(yīng)高度的案例
- vue2+elementui的el-table固定列會遮住橫向滾動條及錯位問題解決方案
- Vue2 Element el-table多選表格控制選取的思路解讀
- VUE2.0 ElementUI2.0表格el-table自適應(yīng)高度的實現(xiàn)方法
- vue2.0 + element UI 中 el-table 數(shù)據(jù)導(dǎo)出Excel的方法
- vue2使用el-tag實現(xiàn)自定義菜單導(dǎo)航標(biāo)簽
- vue2實現(xiàn)在el-table里插入el-tag的示例代碼
相關(guān)文章
vue基礎(chǔ)ESLint?Prettier配置教程詳解
這篇文章主要介紹了vue基礎(chǔ)ESLint?Prettier配置教程詳解,本文使用VsCode?+?Vue?+?ESLint?+?Prettier?實現(xiàn)代碼格式規(guī)范?+?保存自動修復(fù)代碼js+vue2022-07-07
解決Element組件的坑:抽屜drawer和彈窗dialog
這篇文章主要介紹了解決Element組件的坑:抽屜drawer和彈窗dialog問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
基于腳手架創(chuàng)建Vue項目實現(xiàn)步驟詳解
這篇文章主要介紹了基于腳手架創(chuàng)建Vue項目實現(xiàn)步驟詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
ElementUI如何修改el-cascader的默認(rèn)樣式
ElementUI 是一套ui組件庫,目前最新版本 react 和 vue 等主流框架都有支持。該庫默認(rèn)主題色是天藍(lán)色,若用于項目開發(fā),難免遇到要需求修改其默認(rèn)樣式的情況,這篇文章主要介紹了ElementUI如何修改el-cascader的默認(rèn)樣式,需要的朋友可以參考下2023-12-12

