|
|
|
@ -1,7 +1,7 @@ |
|
|
|
<script lang="ts" setup> |
|
|
|
import { Page, useVbenModal } from '@vben/common-ui'; |
|
|
|
|
|
|
|
import { Button, Card } from 'ant-design-vue'; |
|
|
|
import { Button, Card, Flex } from 'ant-design-vue'; |
|
|
|
|
|
|
|
import DocButton from '../doc-button.vue'; |
|
|
|
import AutoHeightDemo from './auto-height-demo.vue'; |
|
|
|
@ -10,6 +10,7 @@ import DragDemo from './drag-demo.vue'; |
|
|
|
import DynamicDemo from './dynamic-demo.vue'; |
|
|
|
import FormModalDemo from './form-modal-demo.vue'; |
|
|
|
import InContentModalDemo from './in-content-demo.vue'; |
|
|
|
import NestedDemo from './nested-demo.vue'; |
|
|
|
import SharedDataDemo from './shared-data-demo.vue'; |
|
|
|
|
|
|
|
const [BaseModal, baseModalApi] = useVbenModal({ |
|
|
|
@ -42,6 +43,10 @@ const [FormModal, formModalApi] = useVbenModal({ |
|
|
|
connectedComponent: FormModalDemo, |
|
|
|
}); |
|
|
|
|
|
|
|
const [NestedModal, nestedModalApi] = useVbenModal({ |
|
|
|
connectedComponent: NestedDemo, |
|
|
|
}); |
|
|
|
|
|
|
|
function openBaseModal() { |
|
|
|
baseModalApi.open(); |
|
|
|
} |
|
|
|
@ -71,6 +76,10 @@ function openSharedModal() { |
|
|
|
.open(); |
|
|
|
} |
|
|
|
|
|
|
|
function openNestedModal() { |
|
|
|
nestedModalApi.open(); |
|
|
|
} |
|
|
|
|
|
|
|
function handleUpdateTitle() { |
|
|
|
dynamicModalApi.setState({ title: '外部动态标题' }).open(); |
|
|
|
} |
|
|
|
@ -101,44 +110,72 @@ function openFormModal() { |
|
|
|
<DynamicModal /> |
|
|
|
<SharedDataModal /> |
|
|
|
<FormModal /> |
|
|
|
<Card class="mb-4" title="基本使用"> |
|
|
|
<p class="mb-3">一个基础的弹窗示例</p> |
|
|
|
<Button type="primary" @click="openBaseModal">打开弹窗</Button> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="mb-4" title="指定容器"> |
|
|
|
<p class="mb-3">在内容区域打开弹窗的示例</p> |
|
|
|
<Button type="primary" @click="openInContentModal">打开弹窗</Button> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="mb-4" title="内容高度自适应"> |
|
|
|
<p class="mb-3">可根据内容并自动调整高度</p> |
|
|
|
<Button type="primary" @click="openAutoHeightModal">打开弹窗</Button> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="mb-4" title="可拖拽示例"> |
|
|
|
<p class="mb-3">配置 draggable 可开启拖拽功能</p> |
|
|
|
<Button type="primary" @click="openDragModal">打开弹窗</Button> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="mb-4" title="动态配置示例"> |
|
|
|
<p class="mb-3">通过 setState 动态调整弹窗数据</p> |
|
|
|
<Button type="primary" @click="openDynamicModal">打开弹窗</Button> |
|
|
|
<Button class="ml-2" type="primary" @click="handleUpdateTitle"> |
|
|
|
从外部修改标题并打开 |
|
|
|
</Button> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="mb-4" title="内外数据共享示例"> |
|
|
|
<p class="mb-3">通过共享 sharedData 来进行数据交互</p> |
|
|
|
<Button type="primary" @click="openSharedModal"> |
|
|
|
打开弹窗并传递数据 |
|
|
|
</Button> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="mb-4" title="表单弹窗示例"> |
|
|
|
<p class="mb-3">弹窗与表单结合</p> |
|
|
|
<Button type="primary" @click="openFormModal"> 打开弹窗 </Button> |
|
|
|
</Card> |
|
|
|
<NestedModal /> |
|
|
|
<Flex wrap="wrap" class="w-full" gap="10"> |
|
|
|
<Card class="w-[300px]" title="基本使用"> |
|
|
|
<p>一个基础的弹窗示例</p> |
|
|
|
<template #actions> |
|
|
|
<Button type="primary" @click="openBaseModal">打开弹窗</Button> |
|
|
|
</template> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="w-[300px]" title="指定容器"> |
|
|
|
<p>在内容区域打开弹窗的示例</p> |
|
|
|
<template #actions> |
|
|
|
<Button type="primary" @click="openInContentModal">打开弹窗</Button> |
|
|
|
</template> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="w-[300px]" title="内容高度自适应"> |
|
|
|
<p>可根据内容并自动调整高度</p> |
|
|
|
<template #actions> |
|
|
|
<Button type="primary" @click="openAutoHeightModal"> |
|
|
|
打开弹窗 |
|
|
|
</Button> |
|
|
|
</template> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="w-[300px]" title="可拖拽示例"> |
|
|
|
<p>配置 draggable 可开启拖拽功能</p> |
|
|
|
<template #actions> |
|
|
|
<Button type="primary" @click="openDragModal"> 打开弹窗 </Button> |
|
|
|
</template> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="w-[300px]" title="动态配置示例"> |
|
|
|
<p>通过 setState 动态调整弹窗数据</p> |
|
|
|
<template #extra> |
|
|
|
<Button type="link" @click="openDynamicModal">打开弹窗</Button> |
|
|
|
</template> |
|
|
|
<template #actions> |
|
|
|
<Button type="primary" @click="handleUpdateTitle"> |
|
|
|
外部修改标题并打开 |
|
|
|
</Button> |
|
|
|
</template> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="w-[300px]" title="内外数据共享示例"> |
|
|
|
<p>通过共享 sharedData 来进行数据交互</p> |
|
|
|
<template #actions> |
|
|
|
<Button type="primary" @click="openSharedModal"> |
|
|
|
打开弹窗并传递数据 |
|
|
|
</Button> |
|
|
|
</template> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="w-[300px]" title="表单弹窗示例"> |
|
|
|
<p>弹窗与表单结合</p> |
|
|
|
<template #actions> |
|
|
|
<Button type="primary" @click="openFormModal"> 打开表单弹窗 </Button> |
|
|
|
</template> |
|
|
|
</Card> |
|
|
|
|
|
|
|
<Card class="w-[300px]" title="嵌套弹窗示例"> |
|
|
|
<p>在已经打开的弹窗中再次打开弹窗</p> |
|
|
|
<template #actions> |
|
|
|
<Button type="primary" @click="openNestedModal">打开嵌套弹窗</Button> |
|
|
|
</template> |
|
|
|
</Card> |
|
|
|
</Flex> |
|
|
|
</Page> |
|
|
|
</template> |
|
|
|
|