diff --git a/src/web/app/common/views/directives/autocomplete.ts b/src/web/app/common/views/directives/autocomplete.ts index 7d04026f8..8a33b4e59 100644 --- a/src/web/app/common/views/directives/autocomplete.ts +++ b/src/web/app/common/views/directives/autocomplete.ts @@ -152,9 +152,11 @@ class Autocomplete { this.text = trimmedBefore + '@' + value.username + ' ' + after; // キャレットを戻す - this.textarea.focus(); - const pos = caret + value.username.length; - this.textarea.setSelectionRange(pos, pos); + this.vm.$nextTick(() => { + this.textarea.focus(); + const pos = trimmedBefore.length + (value.username.length + 2); + this.textarea.setSelectionRange(pos, pos); + }); } else if (type == 'emoji') { const source = this.text; @@ -166,9 +168,11 @@ class Autocomplete { this.text = trimmedBefore + value + after; // キャレットを戻す - this.textarea.focus(); - const pos = caret + value.length; - this.textarea.setSelectionRange(pos, pos); + this.vm.$nextTick(() => { + this.textarea.focus(); + const pos = trimmedBefore.length + 1; + this.textarea.setSelectionRange(pos, pos); + }); } } }