<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
說明: el-table有一個表格一級資料和二級資料顯示的是一樣的,像這種就可以用遞迴實現。
資料結構是這樣子的:
tableData:[{ name: "Lucy", age: 18, mobile: "11111111111", type: 1, friends:[{ name: "Lucy-friend1", age: 16, mobile: "11111111111" },{ name: "Lucy-friend2", age: 16, mobile: "11111111111" }] }]
像以上這種資料結構想要如下圖一樣顯示:
我用的是el-table元件,所以單獨建了一個元件用於表格遞迴顯示。regionTableTemplate裡expend中用到的遞迴顯示二級資料
程式碼如下:
<template> <el-table :data="tableData" class="table-sub" ref="regionTable" :show-header="showHeader" :row-class-name="isShowExpend"> <el-table-column type="expand"> <template slot-scope="scope"> <template v-if="scope.row.friends"> <regionTableTemplate class="in-table" :tableData="scope.row.friends" :showHeader="false"></regionTableTemplate> </template> </template> </el-table-column> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年齡"></el-table-column> <el-table-column prop="mobile" label="手機號"></el-table-column> <el-table-column label="操作" width="220"> <template slot-scope="scope"> <el-button type="text">詳情</el-button> <el-button type="text"> 建立可用區</el-button> <el-button :disabled="scope.row.type === 1?true:false" type="text">刪除</el-button> </template> </el-table-column> </el-table> </template> <script> export default { name: "regionTableTemplate", props:{ tableData: Array, showHeader: Boolean }, methods:{ //展開行 用於沒有friends陣列即沒有子資料 isShowExpend(row, index) { if (row.row.friends&&row.row.friends) { return '' } else { return 'hide-expand' } } } } </script> <style> </style>
父元件呼叫
<template> <div id="ops-region-wrapper"> <div class="ops-list-wrapper"> <table-vue :tableData="tableData" :showHeader="true" @showRegionFlag="showRegionFlag" @showDelDialog="showDelDialog"></table-vue> <Pager :pages='pages' @changeCurrent='changeCurrent'></Pager> </div> </div> </template> <script> import Pager from '@/components/Pager.vue'; import tableVue from './components/table.vue'; export default { components:{ Pager, tableVue }, data() { return { tableData: [{ name: "Lucy", age: 18, mobile: "11111111111", type: 1, friends:[{ name: "Lucy-friend1", age: 16, mobile: "11111111111" },{ name: "Lucy-friend2", age: 16, mobile: "11111111111" }] }], pages: {//分頁 showItem: 15, total: 0, currentPage: 1 }, } }, methods: { //分頁 changeCurrent(val) { this.pages.currentPage = val; } }, mounted() { this.getList(); } } </script> <style lang="scss"> #ops-region-wrapper{ .el-table { margin-top: 15px; tr .el-table__expanded-cell { padding: 0; border-bottom: none; } .el-table__expand-icon { width: 18px; height: 18px; line-height: 16px; background: rgba(54, 134, 255, 0.2); color: #3686ff; border: 1px solid #3686FF; box-sizing: border-box; border-radius: 50%; transform: scale(0.8); i { font-weight: bold; font-size: 12px; left: 48%; } } .el-table__expand-icon--expanded{ transform: rotate(90deg) scale(0.8); } .hide-expand .el-table__expand-column>.cell { display: none; } } .in-table{ &::before{ border: none; } margin: 0; padding: 0; .el-table__expand-column>.cell,.el-table__expanded-cell { display: none; } } .el-button--text { margin: 0 20px 0 0; @include pageFont(12px, #006EFF, 400, "PingFangSC-Regular, PingFang SC", 17px); &.is-disabled{ color: #979797; } } .is-click { cursor: pointer; text-decoration: underline; text-decoration-color: #3686FF; @include pageFont(12px, #3686FF, 400, "PingFangSC-Regular, PingFang SC", 17px); } } </style>
到此這篇關於vue el-table實現遞迴巢狀的範例程式碼的文章就介紹到這了,更多相關vue el-table遞迴巢狀內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45