Bladeren bron

Merge pull request #2389 from Leopoldthecoder/select

Select: fix filterable error with number-typed value
baiyaaaaa 8 jaren geleden
bovenliggende
commit
bee6c5bd89
2 gewijzigde bestanden met toevoegingen van 6 en 2 verwijderingen
  1. 1 1
      packages/select/src/option.vue
  2. 5 1
      packages/select/src/select.vue

+ 1 - 1
packages/select/src/option.vue

@@ -114,7 +114,7 @@
 
       queryChange(query) {
         // query 里如果有正则中的特殊字符,需要先将这些字符转义
-        let parsedQuery = query.replace(/(\^|\(|\)|\[|\]|\$|\*|\+|\.|\?|\\|\{|\}|\|)/g, '\\$1');
+        let parsedQuery = String(query).replace(/(\^|\(|\)|\[|\]|\$|\*|\+|\.|\?|\\|\{|\}|\|)/g, '\\$1');
         this.visible = new RegExp(parsedQuery, 'i').test(this.currentLabel) || this.created;
         if (!this.visible) {
           this.parent.filteredOptionsCount--;

+ 5 - 1
packages/select/src/select.vue

@@ -49,7 +49,7 @@
       :disabled="disabled"
       :readonly="!filterable || multiple"
       :validate-event="false"
-      @focus="toggleMenu"
+      @focus="handleFocus"
       @click="handleIconClick"
       @mousedown.native="handleMouseDown"
       @keyup.native="debouncedOnInputChange"
@@ -403,6 +403,10 @@
         });
       },
 
+      handleFocus() {
+        this.visible = true;
+      },
+
       handleIconClick(event) {
         if (this.iconClass.indexOf('circle-close') > -1) {
           this.deleteSelected(event);