first
This commit is contained in:
33
node_modules/vant/es/mixins/click-outside.js
generated
vendored
Normal file
33
node_modules/vant/es/mixins/click-outside.js
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
/**
|
||||
* Listen to click outside event
|
||||
*/
|
||||
import { on, off } from '../utils/dom/event';
|
||||
export var ClickOutsideMixin = function ClickOutsideMixin(config) {
|
||||
return {
|
||||
props: {
|
||||
closeOnClickOutside: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
data: function data() {
|
||||
var _this = this;
|
||||
|
||||
var clickOutsideHandler = function clickOutsideHandler(event) {
|
||||
if (_this.closeOnClickOutside && !_this.$el.contains(event.target)) {
|
||||
_this[config.method]();
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
clickOutsideHandler: clickOutsideHandler
|
||||
};
|
||||
},
|
||||
mounted: function mounted() {
|
||||
on(document, config.event, this.clickOutsideHandler);
|
||||
},
|
||||
beforeDestroy: function beforeDestroy() {
|
||||
off(document, config.event, this.clickOutsideHandler);
|
||||
}
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user