mirror of https://github.com/ElemeFE/element
parent
0bb4121cc3
commit
562662773e
|
@ -3,7 +3,7 @@
|
||||||
name="dialog-fade"
|
name="dialog-fade"
|
||||||
@after-enter="afterEnter"
|
@after-enter="afterEnter"
|
||||||
@after-leave="afterLeave">
|
@after-leave="afterLeave">
|
||||||
<div class="el-dialog__wrapper" v-show="visible" @click.self="handleWrapperClick">
|
<div class="el-dialog__wrapper" v-show="visible" @click.self="handleWrapperClick" @mouseup="handleMouseup">
|
||||||
<div
|
<div
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-modal="true"
|
aria-modal="true"
|
||||||
|
@ -11,7 +11,8 @@
|
||||||
class="el-dialog"
|
class="el-dialog"
|
||||||
:class="[{ 'is-fullscreen': fullscreen, 'el-dialog--center': center }, customClass]"
|
:class="[{ 'is-fullscreen': fullscreen, 'el-dialog--center': center }, customClass]"
|
||||||
ref="dialog"
|
ref="dialog"
|
||||||
:style="style">
|
:style="style"
|
||||||
|
@mousedown="handleMousedown">
|
||||||
<div class="el-dialog__header">
|
<div class="el-dialog__header">
|
||||||
<slot name="title">
|
<slot name="title">
|
||||||
<span class="el-dialog__title">{{ title }}</span>
|
<span class="el-dialog__title">{{ title }}</span>
|
||||||
|
@ -39,6 +40,8 @@
|
||||||
import Migrating from 'element-ui/src/mixins/migrating';
|
import Migrating from 'element-ui/src/mixins/migrating';
|
||||||
import emitter from 'element-ui/src/mixins/emitter';
|
import emitter from 'element-ui/src/mixins/emitter';
|
||||||
|
|
||||||
|
let dialogMouseDown = false;
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ElDialog',
|
name: 'ElDialog',
|
||||||
|
|
||||||
|
@ -152,9 +155,19 @@
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
handleWrapperClick() {
|
handleWrapperClick() {
|
||||||
if (!this.closeOnClickModal) return;
|
if (!this.closeOnClickModal || dialogMouseDown) return;
|
||||||
this.handleClose();
|
this.handleClose();
|
||||||
},
|
},
|
||||||
|
handleMousedown() {
|
||||||
|
dialogMouseDown = true;
|
||||||
|
},
|
||||||
|
handleMouseup() {
|
||||||
|
if (dialogMouseDown) {
|
||||||
|
this.$nextTick(_ => {
|
||||||
|
dialogMouseDown = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
handleClose() {
|
handleClose() {
|
||||||
if (typeof this.beforeClose === 'function') {
|
if (typeof this.beforeClose === 'function') {
|
||||||
this.beforeClose(this.hide);
|
this.beforeClose(this.hide);
|
||||||
|
|
Loading…
Reference in New Issue