Răsfoiți Sursa

ClickOutside: fix 'Cannot read property target of undefined'

Leopoldthecoder 8 ani în urmă
părinte
comite
45628ecbf3

+ 3 - 1
src/utils/clickoutside.js

@@ -22,8 +22,10 @@ let startClick;
 export default {
   bind(el, binding, vnode) {
     const id = nodeList.push(el) - 1;
-    const documentHandler = function(mouseup, mousedown) {
+    const documentHandler = function(mouseup = {}, mousedown = {}) {
       if (!vnode.context ||
+        !mouseup.target ||
+        !mousedown.target ||
         el.contains(mouseup.target) ||
         (vnode.context.popperElm &&
         (vnode.context.popperElm.contains(mouseup.target) ||

+ 1 - 1
test/unit/specs/dropdown.spec.js

@@ -146,7 +146,7 @@ describe('Dropdown', () => {
         done();
       }, 300);
     }, 300);
-  });
+  }).timeout(3000);
   it('hide on click', done => {
     vm = createVue({
       template: `

+ 1 - 1
test/unit/specs/form.spec.js

@@ -357,7 +357,7 @@ describe('Form', () => {
           }, 100);
         }, 100);
       });
-    });
+    }).timeout(3000);
     it('datepicker', done => {
       vm = createVue({
         template: `

+ 1 - 1
test/unit/specs/menu.spec.js

@@ -293,7 +293,7 @@ describe('Menu', () => {
         done();
       }, 1000);
     }, 500);
-  });
+  }).timeout(3000);
   it('menu trigger click', done => {
     vm = createVue({
       template: `