diff --git a/packages/editor-ui/src/components/ModalDrawer.vue b/packages/editor-ui/src/components/ModalDrawer.vue index 58d859c0ec..df401c8c43 100644 --- a/packages/editor-ui/src/components/ModalDrawer.vue +++ b/packages/editor-ui/src/components/ModalDrawer.vue @@ -80,12 +80,15 @@ export default Vue.extend({ this.$emit('enter'); } }, - close() { + async close() { if (this.beforeClose) { - this.beforeClose(); - return; + const shouldClose = await this.beforeClose(); + if (shouldClose === false) { + return; + } } - this.$store.commit('ui/closeTopModal'); + + this.$store.commit('ui/closeModal', this.$props.name); }, }, computed: {