ant-design-vue/components/table/demo/template.vue

89 lines
2.1 KiB
Vue
Raw Normal View History

2021-09-01 07:04:46 +00:00
<docs>
---
order: 99
title:
en-US: template style API
zh-CN: template 风格的 API
---
## zh-CN
使用 template 风格的 API
> 这个只是一个描述 `columns` 的语法糖所以你不能用其他组件去包裹 `Column` `ColumnGroup`
## en-US
Using template style API
> Since this is just a syntax sugar for the prop `columns`, so that you can't compose `Column` and `ColumnGroup` with other Components.
</docs>
<template>
<a-table :data-source="data">
<a-table-column-group>
<template #title><span style="color: #1890ff">Name</span></template>
<a-table-column key="firstName" data-index="firstName">
<template #title><span style="color: #1890ff">First Name</span></template>
</a-table-column>
<a-table-column key="lastName" title="Last Name" data-index="lastName" />
</a-table-column-group>
<a-table-column key="age" title="Age" data-index="age" />
<a-table-column key="address" title="Address" data-index="address" />
<a-table-column key="tags" title="Tags" data-index="tags">
<template #default="{ text: tags }">
<span>
<a-tag v-for="tag in tags" :key="tag" color="blue">{{ tag }}</a-tag>
</span>
</template>
</a-table-column>
<a-table-column key="action" title="Action">
<template #default="{ record }">
<span>
<a>Action {{ record.firstName }}</a>
<a-divider type="vertical" />
<a>Delete</a>
</span>
</template>
</a-table-column>
</a-table>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
const data = [
{
key: '1',
firstName: 'John',
lastName: 'Brown',
age: 32,
address: 'New York No. 1 Lake Park',
tags: ['nice', 'developer'],
},
{
key: '2',
firstName: 'Jim',
lastName: 'Green',
age: 42,
address: 'London No. 1 Lake Park',
tags: ['loser'],
},
{
key: '3',
firstName: 'Joe',
lastName: 'Black',
age: 32,
address: 'Sidney No. 1 Lake Park',
tags: ['cool', 'teacher'],
},
];
export default defineComponent({
setup() {
return {
data,
};
},
});
</script>