From 37b6b7d9d5b210f0c5af36837fc9ea676fb81a2a Mon Sep 17 00:00:00 2001 From: 刘汉宸 Date: Wed, 24 Jun 2020 10:03:30 +0800 Subject: [PATCH] fix: 修复Scheme弹出框关闭渲染问题 --- packages/scheme/index.vue | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/scheme/index.vue b/packages/scheme/index.vue index 65404f2..bc4268a 100644 --- a/packages/scheme/index.vue +++ b/packages/scheme/index.vue @@ -109,7 +109,8 @@ :lock-scroll="false" :close-on-click-modal="false" @closed="onDialogClosed" - v-bind="dialogProps" + @close="onDialogClose" + v-bind="_dialogProps" >
@@ -179,9 +180,7 @@ const propsKeys = ['tableProps', 'filterProps', 'formProps', 'viewProps', 'dialo propsKeys.forEach(key => { propsMap[key] = { type: Object, - default: function() { - return {}; - }, + default: () => ({}), }; }); const apiKeys = ['searchApi', 'submitApi', 'addApi', 'modifyApi', 'getApi', 'viewApi', 'deleteApi']; @@ -228,6 +227,7 @@ export default { dialogType: 'none', dialogLoading: false, dialogTitle: '', + dialogPropsHack: {}, currentPage: 1, pageSize: 10, total: 0, @@ -355,6 +355,12 @@ export default { } return this.alias || this.zAlias || {}; }, + _dialogProps() { + return { + ...this.dialogProps, + ...this.dialogPropsHack, + }; + }, }, methods: { get, @@ -590,28 +596,33 @@ export default { .catch(() => {}); }, // 打开弹出框 - openDialog(type, title) { + openDialog(type, title, config) { this.dialogVisible = true; this.dialogRender = true; this.dialogType = type; this.dialogTitle = title; + this.dialogPropsHack = config || {}; this.$emit('dialog-change', type); }, // 关闭弹出框 closeDialog() { this.dialogVisible = false; - this.dialogRender = false; - this.dialogType = 'none'; - this.$emit('dialog-change', 'none'); }, // 清空表单 clearEditForm() { this.editForm = {}; this.$emit('update:formModel', {}); }, + // 弹出框关闭 + onDialogClose() { + this.dialogType = 'none'; + this.dialogRender = false; + this.$emit('dialog-change', 'none'); + }, // 弹出框关闭动画结束 onDialogClosed() { this.clearEditForm(); + this.dialogPropsHack = {}; }, // 分页-每页个数 handleSizeChange(val) { -- libgit2 0.21.0