Support compositionupdate event to properly show autocomplete popup for IMEs and
android
This commit is contained in:
parent
69eff65130
commit
f86f4b514f
1 changed files with 8 additions and 0 deletions
|
@ -104,6 +104,7 @@ const EmojiInput = {
|
||||||
input.elm.addEventListener('keyup', this.onKeyUp)
|
input.elm.addEventListener('keyup', this.onKeyUp)
|
||||||
input.elm.addEventListener('keydown', this.onKeyDown)
|
input.elm.addEventListener('keydown', this.onKeyDown)
|
||||||
input.elm.addEventListener('transitionend', this.onTransition)
|
input.elm.addEventListener('transitionend', this.onTransition)
|
||||||
|
input.elm.addEventListener('compositionupdate', this.onCompositionUpdate)
|
||||||
},
|
},
|
||||||
unmounted () {
|
unmounted () {
|
||||||
const { input } = this
|
const { input } = this
|
||||||
|
@ -114,6 +115,7 @@ const EmojiInput = {
|
||||||
input.elm.removeEventListener('keyup', this.onKeyUp)
|
input.elm.removeEventListener('keyup', this.onKeyUp)
|
||||||
input.elm.removeEventListener('keydown', this.onKeyDown)
|
input.elm.removeEventListener('keydown', this.onKeyDown)
|
||||||
input.elm.removeEventListener('transitionend', this.onTransition)
|
input.elm.removeEventListener('transitionend', this.onTransition)
|
||||||
|
input.elm.removeEventListener('compositionupdate', this.onCompositionUpdate)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -216,6 +218,12 @@ const EmojiInput = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onInput (e) {
|
onInput (e) {
|
||||||
|
this.setCaret(e)
|
||||||
|
this.$emit('input', e.target.value)
|
||||||
|
},
|
||||||
|
onCompositionUpdate (e) {
|
||||||
|
this.setCaret(e)
|
||||||
|
this.resize()
|
||||||
this.$emit('input', e.target.value)
|
this.$emit('input', e.target.value)
|
||||||
},
|
},
|
||||||
setCaret ({ target: { selectionStart } }) {
|
setCaret ({ target: { selectionStart } }) {
|
||||||
|
|
Loading…
Reference in a new issue