Commit 45bcc14daaa75c84419c64a91ca964bed8581264
1 parent
7f63e58c
prevent calling remote method on query reset to selected
Showing
1 changed file
with
7 additions
and
2 deletions
Show diff stats
src/components/select/select.vue
@@ -203,6 +203,7 @@ | @@ -203,6 +203,7 @@ | ||
203 | caretPosition: -1, | 203 | caretPosition: -1, |
204 | lastRemoteQuery: '', | 204 | lastRemoteQuery: '', |
205 | hasExpectedValue: false, | 205 | hasExpectedValue: false, |
206 | + preventRemoteCall: false, | ||
206 | }; | 207 | }; |
207 | }, | 208 | }, |
208 | computed: { | 209 | computed: { |
@@ -558,7 +559,8 @@ | @@ -558,7 +559,8 @@ | ||
558 | this.$emit('on-query-change', query); | 559 | this.$emit('on-query-change', query); |
559 | const {remoteMethod, lastRemoteQuery} = this; | 560 | const {remoteMethod, lastRemoteQuery} = this; |
560 | const hasValidQuery = query !== '' && (query !== lastRemoteQuery || !lastRemoteQuery); | 561 | const hasValidQuery = query !== '' && (query !== lastRemoteQuery || !lastRemoteQuery); |
561 | - const shouldCallRemoteMethod = remoteMethod && hasValidQuery; | 562 | + const shouldCallRemoteMethod = remoteMethod && hasValidQuery && !this.preventRemoteCall; |
563 | + this.preventRemoteCall = false; // remove the flag | ||
562 | 564 | ||
563 | if (shouldCallRemoteMethod){ | 565 | if (shouldCallRemoteMethod){ |
564 | this.focusIndex = -1; | 566 | this.focusIndex = -1; |
@@ -586,7 +588,10 @@ | @@ -586,7 +588,10 @@ | ||
586 | const [selectedOption] = this.values; | 588 | const [selectedOption] = this.values; |
587 | if (selectedOption && this.filterable && !this.multiple && !focused){ | 589 | if (selectedOption && this.filterable && !this.multiple && !focused){ |
588 | const selectedLabel = selectedOption.label || selectedOption.value; | 590 | const selectedLabel = selectedOption.label || selectedOption.value; |
589 | - if (this.query !== selectedLabel) this.query = selectedLabel; | 591 | + if (this.query !== selectedLabel) { |
592 | + this.preventRemoteCall = true; | ||
593 | + this.query = selectedLabel; | ||
594 | + } | ||
590 | } | 595 | } |
591 | }, | 596 | }, |
592 | focusIndex(index){ | 597 | focusIndex(index){ |