Bläddra i källkod

Select: remove clickoutside, fix #4985 (#4998)

pengchongfu 8 år sedan
förälder
incheckning
876cb88ae6
2 ändrade filer med 4 tillägg och 10 borttagningar
  1. 1 7
      packages/autocomplete/src/autocomplete.vue
  2. 3 3
      test/unit/specs/autocomplete.spec.js

+ 1 - 7
packages/autocomplete/src/autocomplete.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="el-autocomplete" v-clickoutside="handleClickoutside">
+  <div class="el-autocomplete">
     <el-input
       ref="input"
       :value="value"
@@ -36,7 +36,6 @@
 </template>
 <script>
   import ElInput from 'element-ui/packages/input';
-  import Clickoutside from 'element-ui/src/utils/clickoutside';
   import ElAutocompleteSuggestions from './autocomplete-suggestions.vue';
   import Emitter from 'element-ui/src/mixins/emitter';
 
@@ -52,8 +51,6 @@
       ElAutocompleteSuggestions
     },
 
-    directives: { Clickoutside },
-
     props: {
       popperClass: String,
       placeholder: String,
@@ -137,9 +134,6 @@
           this.select(this.suggestions[this.highlightedIndex]);
         }
       },
-      handleClickoutside() {
-        this.isFocus = false;
-      },
       select(item) {
         this.$emit('input', item.value);
         this.$emit('select', item);

+ 3 - 3
test/unit/specs/autocomplete.spec.js

@@ -1,4 +1,4 @@
-import { createVue, triggerClick, destroyVM } from '../util';
+import { createVue, destroyVM } from '../util';
 
 describe('Autocomplete', () => {
   let vm;
@@ -59,11 +59,11 @@ describe('Autocomplete', () => {
       expect(suggestions.style.display).to.not.equal('none');
       expect(suggestions.querySelectorAll('.el-autocomplete-suggestion__list li').length).to.be.equal(4);
 
-      triggerClick(document);
+      inputElm.blur();
       setTimeout(_ => {
         expect(suggestions.style.display).to.be.equal('none');
         done();
-      }, 500);
+      }, 600);
     }, 500);
   });
   it('select', done => {