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.
81 lines
2.2 KiB
81 lines
2.2 KiB
<docs>
|
|
---
|
|
order: 3
|
|
title:
|
|
zh-CN: 竖排列表样式
|
|
en-US: Vertical
|
|
---
|
|
|
|
## zh-CN
|
|
|
|
通过设置 `itemLayout` 属性为 `vertical` 可实现竖排列表样式。
|
|
|
|
## en-US
|
|
|
|
Setting `itemLayout` property with `vertical` to create a vertical list.
|
|
|
|
</docs>
|
|
|
|
<template>
|
|
<a-list item-layout="vertical" size="large" :pagination="pagination" :data-source="listData">
|
|
<template #footer>
|
|
<div>
|
|
<b>ant design vue</b>
|
|
footer part
|
|
</div>
|
|
</template>
|
|
<template #renderItem="{ item }">
|
|
<a-list-item key="item.title">
|
|
<template #actions>
|
|
<span v-for="{ icon, text } in actions" :key="icon">
|
|
<component :is="icon" style="margin-right: 8px" />
|
|
{{ text }}
|
|
</span>
|
|
</template>
|
|
<template #extra>
|
|
<img
|
|
width="272"
|
|
alt="logo"
|
|
src="https://gw.alipayobjects.com/zos/rmsportal/mqaQswcyDLcXyDKnZfES.png"
|
|
/>
|
|
</template>
|
|
<a-list-item-meta :description="item.description">
|
|
<template #title>
|
|
<a :href="item.href">{{ item.title }}</a>
|
|
</template>
|
|
<template #avatar><a-avatar :src="item.avatar" /></template>
|
|
</a-list-item-meta>
|
|
{{ item.content }}
|
|
</a-list-item>
|
|
</template>
|
|
</a-list>
|
|
</template>
|
|
<script lang="ts" setup>
|
|
import { StarOutlined, LikeOutlined, MessageOutlined } from '@ant-design/icons-vue';
|
|
const listData: Record<string, string>[] = [];
|
|
|
|
for (let i = 0; i < 23; i++) {
|
|
listData.push({
|
|
href: 'https://www.antdv.com/',
|
|
title: `ant design vue part ${i}`,
|
|
avatar: 'https://joeschmoe.io/api/v1/random',
|
|
description:
|
|
'Ant Design, a design language for background applications, is refined by Ant UED Team.',
|
|
content:
|
|
'We supply a series of design principles, practical patterns and high quality design resources (Sketch and Axure), to help people create their product prototypes beautifully and efficiently.',
|
|
});
|
|
}
|
|
|
|
const pagination = {
|
|
onChange: (page: number) => {
|
|
console.log(page);
|
|
},
|
|
pageSize: 3,
|
|
};
|
|
const actions: Record<string, any>[] = [
|
|
{ icon: StarOutlined, text: '156' },
|
|
{ icon: LikeOutlined, text: '156' },
|
|
{ icon: MessageOutlined, text: '2' },
|
|
];
|
|
</script>
|