From 977df7f194d1e70f3f600ecd7da1c2e1f9f68253 Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Sun, 25 Feb 2018 13:31:02 +0900
Subject: [PATCH] Fix #81

---
 .../app/common/views/directives/autocomplete.ts  | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/web/app/common/views/directives/autocomplete.ts b/src/web/app/common/views/directives/autocomplete.ts
index 7d04026f8b..8a33b4e595 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);
+			});
 		}
 	}
 }