使用 vxe-table 实现展开行的,通过设置 type=expand,给列加上 content 插槽,就可以开启展开行了
官网:vxetable.cn/
Gitee:gitee.com/x-extends/v…
Github:github.com/x-extends/v…
<template>
<div>
<vxe-table
:expand-config="{padding: true}"
:data="tableData">
<vxe-column type="seq" width="70"></vxe-column>
<vxe-column type="expand" width="60">
<template #content="{ row }">
<div>Name:{{ row.name }}</div>
<div>Role:{{ row.role }}</div>
<div>Age:{{ row.age }}</div>
<div>Sex:{{ row.sex }}</div>
<div>Address:{{ row.address }}</div>
</template>
</vxe-column>
<vxe-column field="name" title="Name"></vxe-column>
<vxe-column field="sex" title="Sex"></vxe-column>
<vxe-column field="age" title="Age"></vxe-column>
</vxe-table>
</div>
</template>
<script setup>
import { ref } from 'vue'
const tableData = ref([
{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },
{ id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
{ id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 24, address: 'Shanghai' }
])
</script>