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/drawer/demo/user-profile.vue

153 lines
4.0 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: 6
title:
zh-CN: 信息预览抽屉
en-US: Preview drawer
---
## zh-CN
需要快速预览对象概要时使用点击遮罩区关闭
## en-US
Use Drawer to quickly preview details of an object, such as those in a list.
</docs>
<template>
<a-list
:data-source="[
{
name: 'Lily',
},
{
name: 'Lily',
},
]"
bordered
>
<template #renderItem="{ item }">
<a-list-item :key="`a-${item.id}`">
<template #actions><a @click="showDrawer">View Profile</a></template>
<a-list-item-meta description="Progresser XTech">
<template #title>
<a href="https://www.antdv.com/">{{ item.name }}</a>
</template>
<template #avatar>
<a-avatar src="https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png" />
</template>
</a-list-item-meta>
</a-list-item>
</template>
</a-list>
<a-drawer width="640" placement="right" :closable="false" :open="open" @close="onClose">
<p :style="[pStyle, pStyle2]">User Profile</p>
<p :style="pStyle">Personal</p>
<a-row>
<a-col :span="12">
<description-item title="Full Name" content="Lily" />
</a-col>
<a-col :span="12">
<description-item title="Account" content="AntDesign@example.com" />
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<description-item title="City" content="HangZhou" />
</a-col>
<a-col :span="12">
<description-item title="Country" content="China🇨🇳" />
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<description-item title="Birthday" content="February 2,1900" />
</a-col>
<a-col :span="12">
<description-item title="Website" content="-" />
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<description-item
title="Message"
content="Make things as simple as possible but no simpler."
/>
</a-col>
</a-row>
<a-divider />
<p :style="pStyle">Company</p>
<a-row>
<a-col :span="12">
<description-item title="Position" content="Programmer" />
</a-col>
<a-col :span="12">
<description-item title="Responsibilities" content="Coding" />
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<description-item title="Department" content="XTech" />
</a-col>
<a-col :span="12">
<description-item title="Supervisor">
<template #content><a>Lin</a></template>
</description-item>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<description-item
title="Skills"
content="C / C + +, data structures, software engineering, operating systems, computer networks, databases, compiler theory, computer architecture, Microcomputer Principle and Interface Technology, Computer English, Java, ASP, etc."
/>
</a-col>
</a-row>
<a-divider />
<p :style="pStyle">Contacts</p>
<a-row>
<a-col :span="12">
<description-item title="Email" content="ant-design-vue@example.com" />
</a-col>
<a-col :span="12">
<description-item title="Phone Number" content="+86 181 0000 0000" />
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<description-item title="Github">
<template #content>
<a href="https://github.com/vueComponent/ant-design-vue">
github.com/vueComponent/ant-design-vue
</a>
</template>
</description-item>
</a-col>
</a-row>
</a-drawer>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import descriptionItem from './descriptionItem/index.vue';
const open = ref<boolean>(false);
const pStyle = {
fontSize: '16px',
color: 'rgba(0,0,0,0.85)',
lineHeight: '24px',
display: 'block',
marginBottom: '16px',
};
const pStyle2 = {
marginBottom: '24px',
};
const showDrawer = () => {
open.value = true;
};
const onClose = () => {
open.value = false;
};
</script>