81 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Vue
		
	
	
| <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>
 |