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/template.vue

93 lines
2.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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.
> Not recommended, there will be a certain performance loss.
> 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>