Autocomplete: fix problem when input with Chinese input method (#4393)

pull/4473/head
Boik 2017-04-27 00:25:18 +08:00 committed by baiyaaaaa
parent 92b4156aaa
commit 90eb1e1927
1 changed files with 13 additions and 1 deletions

View File

@ -9,6 +9,9 @@
:size="size"
:icon="icon"
:on-icon-click="onIconClick"
@compositionstart.native="handleComposition"
@compositionupdate.native="handleComposition"
@compositionend.native="handleComposition"
@change="handleChange"
@focus="handleFocus"
@blur="handleBlur"
@ -71,6 +74,7 @@
data() {
return {
isFocus: false,
isOnComposition: false,
suggestions: [],
loading: false,
highlightedIndex: -1
@ -100,9 +104,17 @@
}
});
},
handleComposition(event) {
if (event.type === 'compositionend') {
this.isOnComposition = false;
this.handleChange(event.data);
} else {
this.isOnComposition = true;
}
},
handleChange(value) {
this.$emit('input', value);
if (!this.triggerOnFocus && !value) {
if (this.isOnComposition || (!this.triggerOnFocus && !value)) {
this.suggestions = [];
return;
}