You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ant-design-vue/components/table/demo/expand.vue

75 lines
1.6 KiB

<docs>
---
order: 8
title:
en-US: Expandable Row
zh-CN: 可展开
---
## zh-CN
当表格内容较多不能一次性完全展示时
## en-US
When there's too much information to show and the table can't display all at once.
</docs>
<template>
<a-table :columns="columns" :data-source="data" :scroll="{ x: 2000 }">
<template #bodyCell="{ column }">
<template v-if="column.key === 'action'">
<a>Delete</a>
</template>
</template>
<template #expandedRowRender="{ record }">
<p style="margin: 0">
{{ record.description }}
</p>
</template>
</a-table>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
const columns = [
{ title: 'Name', dataIndex: 'name', key: 'name', fixed: true },
{ title: 'Age', dataIndex: 'age', key: 'age' },
{ title: 'Address', dataIndex: 'address', key: 'address' },
{ title: 'Action', key: 'action' },
];
const data = [
{
key: 1,
name: 'John Brown',
age: 32,
address: 'New York No. 1 Lake Park',
description: 'My name is John Brown, I am 32 years old, living in New York No. 1 Lake Park.',
},
{
key: 2,
name: 'Jim Green',
age: 42,
address: 'London No. 1 Lake Park',
description: 'My name is Jim Green, I am 42 years old, living in London No. 1 Lake Park.',
},
{
key: 3,
name: 'Joe Black',
age: 32,
address: 'Sidney No. 1 Lake Park',
description: 'My name is Joe Black, I am 32 years old, living in Sidney No. 1 Lake Park.',
},
];
export default defineComponent({
setup() {
return {
data,
columns,
};
},
});
</script>