[new feature] DropdownMenu: add close-on-click-outside prop (#3824)

This commit is contained in:
neverland
2019-07-11 16:56:44 +08:00
committed by GitHub
parent 22f28b44ff
commit db8428dd19
5 changed files with 56 additions and 7 deletions
+8 -1
View File
@@ -11,9 +11,16 @@ export type ClickOutsideMixinConfig = {
export const ClickOutsideMixin = (config: ClickOutsideMixinConfig) =>
Vue.extend({
props: {
closeOnClickOutside: {
type: Boolean,
default: true
}
},
data() {
const clickOutsideHandler = (event: Event) => {
if (!this.$el.contains(event.target as Node)) {
if (this.closeOnClickOutside && !this.$el.contains(event.target as Node)) {
(this as any)[config.method]();
}
};