ant-design-vue/components/drawer/demo/user-profile.vue
tangjinzhou a5a3411c28
refactor: drawer (#4725)
* refactor(drawer): use compositionAPI

* refactor(drawer): update

* refactor: update

* chore: update

* docs: update

* fix: remove transitionStr

* chore: use useConfigInject

* refactor: drawer #4708

Co-authored-by: ajuner <106791576@qq.com>
2021-10-03 13:30:50 +08:00

167 lines
4.3 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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" :visible="visible" @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">
import descriptionItem from './descriptionItem/index.vue';
import { defineComponent, ref } from 'vue';
export default defineComponent({
components: {
descriptionItem,
},
setup() {
const visible = 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 = () => {
visible.value = true;
};
const onClose = () => {
visible.value = false;
};
return {
visible,
pStyle,
pStyle2,
showDrawer,
onClose,
};
},
});
</script>