diff --git a/src/components/autocomplete/AutoComplete.vue b/src/components/autocomplete/AutoComplete.vue index bf1363812..9a35b2616 100755 --- a/src/components/autocomplete/AutoComplete.vue +++ b/src/components/autocomplete/AutoComplete.vue @@ -25,11 +25,11 @@ @@ -110,7 +110,8 @@ export default { searching: false, focused: false, overlayVisible: false, - inputTextValue: null + inputTextValue: null, + highlightItem: null }; }, watch: { @@ -385,10 +386,10 @@ export default { event.preventDefault(); break; - //enter,tab + //enter case 13: if (highlightItem) { - this.selectItem(event, this.suggestions[DomHandler.index(highlightItem)]); + this.selectHighlightItem(event, highlightItem); this.hideOverlay(); } @@ -404,7 +405,7 @@ export default { //tab case 9: if (highlightItem) { - this.selectItem(event, this.suggestions[DomHandler.index(highlightItem)]); + this.selectHighlightItem(event, highlightItem); } this.hideOverlay(); @@ -436,6 +437,15 @@ export default { } } }, + selectHighlightItem(event, item) { + if (this.optionGroupLabel) { + let optionGroup = this.suggestions[item.dataset.group]; + this.selectItem(event, this.getOptionGroupChildren(optionGroup)[item.dataset.index]); + } + else { + this.selectItem(event, this.suggestions[DomHandler.indexOfType(item)]); + } + }, findNextItem(item) { let nextItem = item.nextElementSibling;