mirror of https://github.com/ElemeFE/element
Autocomplete: fix problem when input with Chinese input method (#4393)
parent
92b4156aaa
commit
90eb1e1927
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue