This commit is contained in:
梁灏 2019-03-05 09:31:03 +08:00
parent f308dcac80
commit 4a8826fa02
2 changed files with 32 additions and 2 deletions

View file

@ -5,7 +5,7 @@
<Button @click="visible3 = true">show3</Button> <Button @click="visible3 = true">show3</Button>
<div style="width: 500px;height:500px;background: green;position: relative;"> <div style="width: 500px;height:500px;background: green;position: relative;">
<Drawer v-model="visible" placement="left" draggable inner :transfer="false" width="50" @on-resize-width="hrw" title="抽屉标题" :styles="styles" @on-close="handleClose"> <Drawer v-model="visible" placement="left" :before-close="handleBeforeClose" draggable inner :transfer="false" width="50" @on-resize-width="hrw" title="抽屉标题" :styles="styles" @on-close="handleClose">
<p>一些内容</p> <p>一些内容</p>
<p>一些内容</p> <p>一些内容</p>
<p>一些内容</p> <p>一些内容</p>
@ -209,6 +209,20 @@
}, },
hrw (w) { hrw (w) {
console.log(w); console.log(w);
},
handleBeforeClose () {
return new Promise((resolve, reject) => {
this.$Modal.confirm({
title: '关闭确认',
content: '您确认要关闭抽屉吗?',
onOk: () => {
resolve();
},
onCancel: () => {
reject();
}
});
});
} }
} }
}; };

View file

@ -106,7 +106,8 @@
draggable: { draggable: {
type: Boolean, type: Boolean,
default: false default: false
} },
beforeClose: Function,
}, },
data () { data () {
return { return {
@ -176,6 +177,21 @@
}, },
methods: { methods: {
close () { close () {
if (!this.beforeClose) {
return this.handleClose();
}
const before = this.beforeClose();
if (before && before.then) {
before.then(() => {
this.handleClose();
});
} else {
this.handleClose();
}
},
handleClose () {
this.visible = false; this.visible = false;
this.$emit('input', false); this.$emit('input', false);
this.$emit('on-close'); this.$emit('on-close');