* perf: 优化Vben Modal destroyOnClose,解决destroyOnClose=false,Modal依旧会被销毁的问题 影响范围(重要):destroyOnClose默认为true,这会导致所有的modal都会默认渲染到body radix-vue Dialog组件默认会销毁挂载的组件,所以即使destroyOnClose=false,Modal依旧会被销毁的问题 对于一些大表单重复渲染导致卡顿,ApiComponent也会频繁的加载数据 * fix: modal closing animation --------- Co-authored-by: Netfan <netfan@foxmail.com>
31 lines
688 B
Vue
31 lines
688 B
Vue
<script lang="ts" setup>
|
||
import { ref } from 'vue';
|
||
|
||
import { useVbenModal } from '@vben/common-ui';
|
||
|
||
import { Input, message } from 'ant-design-vue';
|
||
|
||
const [Modal, modalApi] = useVbenModal({
|
||
destroyOnClose: false,
|
||
onCancel() {
|
||
modalApi.close();
|
||
},
|
||
onConfirm() {
|
||
message.info('onConfirm');
|
||
// modalApi.close();
|
||
},
|
||
});
|
||
const value = ref();
|
||
</script>
|
||
<template>
|
||
<Modal
|
||
append-to-main
|
||
class="w-[600px]"
|
||
title="基础弹窗示例"
|
||
title-tooltip="标题提示内容"
|
||
>
|
||
此弹窗指定在内容区域打开,并且在关闭之后弹窗内容不会被销毁
|
||
<Input v-model:value="value" placeholder="KeepAlive测试" />
|
||
</Modal>
|
||
</template>
|