Autocomplete: fix suggestions data bug (#11323)

pull/11330/head
hetech 2018-05-24 19:07:19 +08:00 committed by 杨奕
parent f18bbeb473
commit 2445a7bc00
1 changed files with 12 additions and 5 deletions

View File

@ -122,7 +122,8 @@
activated: false,
suggestions: [],
loading: false,
highlightedIndex: -1
highlightedIndex: -1,
suggestionDisabled: false
};
},
computed: {
@ -150,19 +151,27 @@
};
},
getData(queryString) {
if (this.suggestionDisabled) {
return;
}
this.loading = true;
this.fetchSuggestions(queryString, (suggestions) => {
this.loading = false;
if (this.suggestionDisabled) {
return;
}
if (Array.isArray(suggestions)) {
this.suggestions = suggestions;
} else {
console.error('autocomplete suggestions must be an array');
console.error('[Element Error][Autocomplete]autocomplete suggestions must be an array');
}
});
},
handleChange(value) {
this.$emit('input', value);
this.suggestionDisabled = false;
if (!this.triggerOnFocus && !value) {
this.suggestionDisabled = true;
this.suggestions = [];
return;
}
@ -228,9 +237,7 @@
}
},
mounted() {
this.debouncedGetData = debounce(this.debounce, (val) => {
this.getData(val);
});
this.debouncedGetData = debounce(this.debounce, this.getData);
this.$on('item-click', item => {
this.select(item);
});