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

93 lines
2.2 KiB
Vue
Raw Blame History

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>