feat(Popup): add before-close prop (#9067)

This commit is contained in:
neverland
2021-07-19 15:41:47 +08:00
committed by GitHub
parent 4a74aa523a
commit eaa9bf3680
5 changed files with 31 additions and 4 deletions
+12 -3
View File
@@ -16,6 +16,7 @@ import {
// Utils
import { popupSharedProps } from './shared';
import { createNamespace, extend, isDef } from '../utils';
import { callInterceptor, Interceptor } from '../utils/interceptor';
// Composables
import { useEventListener } from '@vant/use';
@@ -50,6 +51,7 @@ export default defineComponent({
closeable: Boolean,
transition: String,
iconPrefix: String,
beforeClose: Function as PropType<Interceptor>,
closeOnPopstate: Boolean,
safeAreaInsetBottom: Boolean,
position: {
@@ -115,11 +117,18 @@ export default defineComponent({
}
};
const triggerClose = () => {
opened = false;
emit('close');
emit('update:show', false);
};
const close = () => {
if (opened) {
opened = false;
emit('close');
emit('update:show', false);
callInterceptor({
interceptor: props.beforeClose,
done: triggerClose,
});
}
};