element table多層嵌套顯示的實(shí)踐
有個(gè)需求是一個(gè)列表,里面包含多個(gè)單子,每個(gè)單子可以是唯一,也可以是多個(gè)合并之后的,而且每個(gè)單子下面顯示的是另外一個(gè)表格,來上圖

每行的操作還不一樣,然后通過官網(wǎng)的一些例子總結(jié)了一下合并代碼
<template>
<div class="app-container">
<div>
<el-table
:data="tableData"
style="width: 100%;margin-bottom: 20px;"
:span-method="arraySpanMethod"
row-key="id"
border
>
<el-table-column type="expand">
<template slot-scope="props">
<el-table
class="table-in-table"
:show-header="false"
:data="props.row.datas"
style="width: 100%;"
row-key="id"
:span-method="arraySpanMethod"
border
>
<el-table-column type="expand">
<template slot-scope="props">
<el-table
class="table-in-table"
:data="props.row.datas"
style="width: 100%;"
row-key="id"
border
>
<el-table-column prop="date" label="下單日期" width="180"></el-table-column>
<el-table-column prop="type" label="單據(jù)類型" width="180"></el-table-column>
<el-table-column prop="status" label="狀態(tài)"></el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="props">
<el-button type="text" size="small">移除</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column prop="applyNo" label="申請(qǐng)單號(hào)" width="132.2"></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>
</el-table-column>
<el-table-column prop="applyNo" label="申請(qǐng)單號(hào)" 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-column label="操作" width="120">
<template slot-scope="props">
<el-button type="text" size="small">移除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
name: "name1",
components: {},
data() {
return {
tableData: [
{
id: 1,
applyNo: "202004291234",
name: "李四",
address: "上海市普陀區(qū)金沙江路 1518 弄"
},
{
id: 2,
applyNo: "202004291235",
name: "張三",
address: "上海市普陀區(qū)金沙江路 1517 弄"
},
{
id: 3,
applyNo: "202004291236,202004291237",
name: "王五",
address: "上海市普陀區(qū)金沙江路 1519 弄",
datas: [
{
id: 31,
applyNo: "202004291236",
name: "王五",
address: "上海市普陀區(qū)金沙江路 1519 弄",
datas: [
{
id: 31,
date: "2016-05-01",
type: "類型1",
status: "已發(fā)貨"
},
{
id: 32,
date: "2016-05-01",
type: "類型2",
status: "未發(fā)貨"
}
]
},
{
id: 32,
applyNo: "202004291237",
name: "王五",
address: "上海市普陀區(qū)金沙江路 1519 弄"
}
]
},
{
id: 4,
applyNo: "202004291238",
name: "趙6六",
address: "上海市普陀區(qū)金沙江路 1516 弄"
}
]
};
},
methods: {
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (!row.datas) {
if (columnIndex === 0) {
return [0, 0];
} else if (columnIndex === 1) {
return [1, 2];
}
}
}
}
};
</script>
<style lang="scss" scoped>
.app-container {
::v-deep {
.el-table th {
background: #ddeeff;
}
.el-table__expanded-cell {
border-bottom: 0px;
border-right: 0px;
padding: 0px 0px 0px 47px;
}
}
.table-in-table {
border-top: 0px;
}
}
</style>
注:需要注意一點(diǎn)的是,這里面的孩子節(jié)點(diǎn)不能用children,因?yàn)楣俜侥J(rèn)是children,所以會(huì)出現(xiàn)別的下拉組件
設(shè)置td寬度的時(shí)候,需要注意的是里面跟外層的差47.8
到此這篇關(guān)于element table多層嵌套顯示的實(shí)踐的文章就介紹到這了,更多相關(guān)element table多層嵌套內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何實(shí)現(xiàn)Vue組件的動(dòng)態(tài)綁定
Vue.js 是一個(gè)漸進(jìn)式框架,用于構(gòu)建用戶界面,在開發(fā)過程中,我們經(jīng)常需要根據(jù)不同的條件動(dòng)態(tài)顯示組件,在本文中,我將詳細(xì)介紹如何實(shí)現(xiàn)Vue組件的動(dòng)態(tài)綁定,提供示例代碼,以幫助你更深入地理解這個(gè)概念,需要的朋友可以參考下2024-11-11
vue實(shí)現(xiàn)移動(dòng)端拖動(dòng)排序
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)移動(dòng)端拖動(dòng)排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08
vue實(shí)現(xiàn)token登錄驗(yàn)證的完整實(shí)例
最近公司新啟動(dòng)了個(gè)項(xiàng)目,用的是vue框架在做,下面這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)token登錄驗(yàn)證的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
vue3 onMounted異步函數(shù)同步請(qǐng)求async/await實(shí)現(xiàn)
這篇文章主要為大家介紹了vue3 onMounted初始化數(shù)據(jù)異步函數(shù)/同步請(qǐng)求async/await實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07

