perf: improve modal and drawer component documentation and fix known problems (#4264)

* feat: improve modal and drawer component documentation and fix known problems

* chore: update ci
This commit is contained in:
Vben
2024-08-28 22:26:35 +08:00
committed by GitHub
parent 84816ef769
commit 36e7ca19a1
54 changed files with 882 additions and 176 deletions

View File

@@ -5,24 +5,31 @@ import { useVbenModal } from '@vben/common-ui';
import { Button, message } from 'ant-design-vue';
const list = ref<number[]>([]);
const [Modal, modalApi] = useVbenModal({
onCancel() {
modalApi.close();
},
onConfirm() {
message.info('onConfirm');
// modalApi.close();
},
onOpenChange(isOpen) {
if (isOpen) {
handleUpdate(10);
}
},
});
const list = ref<number[]>([]);
list.value = Array.from({ length: 10 }, (_v, k) => k + 1);
function handleUpdate() {
list.value = Array.from({ length: 6 }, (_v, k) => k + 1);
function handleUpdate(len: number) {
modalApi.setState({ loading: true });
setTimeout(() => {
list.value = Array.from({ length: len }, (_v, k) => k + 1);
modalApi.setState({ loading: false });
}, 2000);
}
</script>
<template>
<Modal title="自动计算高度">
<div
@@ -32,9 +39,8 @@ function handleUpdate() {
>
{{ item }}
</div>
<template #prepend-footer>
<Button type="link" @click="handleUpdate">点击更新数据</Button>
<Button type="link" @click="handleUpdate(6)">点击更新数据</Button>
</template>
</Modal>
</template>

View File

@@ -11,14 +11,6 @@ const [Modal, modalApi] = useVbenModal({
message.info('onConfirm');
// modalApi.close();
},
onOpenChange(isOpen) {
if (isOpen) {
modalApi.setState({ loading: true });
setTimeout(() => {
modalApi.setState({ loading: false });
}, 2000);
}
},
});
</script>
<template>

View File

@@ -3,6 +3,7 @@ import { Page, useVbenModal } from '@vben/common-ui';
import { Button, Card } from 'ant-design-vue';
import DocButton from '../doc-button.vue';
import AutoHeightDemo from './auto-height-demo.vue';
import BaseDemo from './base-demo.vue';
import DragDemo from './drag-demo.vue';
@@ -10,7 +11,7 @@ import DynamicDemo from './dynamic-demo.vue';
import SharedDataDemo from './shared-data-demo.vue';
const [BaseModal, baseModalApi] = useVbenModal({
// 接抽离的组件
// 接抽离的组件
connectedComponent: BaseDemo,
});
@@ -62,9 +63,12 @@ function handleUpdateTitle() {
<template>
<Page
description="弹窗组件常用于在不离开当前页面的情况下,显示额外的信息、表单或操作提示。"
description="弹窗组件常用于在不离开当前页面的情况下,显示额外的信息、表单或操作提示更多api请查看组件文档。"
title="弹窗组件示例"
>
<template #extra>
<DocButton path="/components/common-ui/vben-modal" />
</template>
<BaseModal />
<AutoHeightModal />
<DragModal />