summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authortakonomura <takonomura@users.noreply.github.com>2020-10-31 09:43:28 +0900
committerGitHub <noreply@github.com>2020-10-31 09:43:28 +0900
commit3bfae80fa7e0e29192efeeb598eeb5a7c369d204 (patch)
tree8c54c991bcf7aba974f54b93008bee7a7458ee58 /src/client
parentFix #6781 (diff)
downloadsharkey-3bfae80fa7e0e29192efeeb598eeb5a7c369d204.tar.gz
sharkey-3bfae80fa7e0e29192efeeb598eeb5a7c369d204.tar.bz2
sharkey-3bfae80fa7e0e29192efeeb598eeb5a7c369d204.zip
補完でタブが効かなくなるケースを修正 (#6779)
Diffstat (limited to 'src/client')
-rw-r--r--src/client/components/autocomplete.vue13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/client/components/autocomplete.vue b/src/client/components/autocomplete.vue
index 7f4b565723..476be8ae78 100644
--- a/src/client/components/autocomplete.vue
+++ b/src/client/components/autocomplete.vue
@@ -122,6 +122,7 @@ export default defineComponent({
users: [],
hashtags: [],
emojis: [],
+ items: [],
select: -1,
emojilist,
emojiDb: [] as EmojiDef[]
@@ -129,10 +130,6 @@ export default defineComponent({
},
computed: {
- items(): HTMLCollection {
- return (this.$refs.suggests as Element).children;
- },
-
useOsNativeEmojis(): boolean {
return this.$store.state.device.useOsNativeEmojis;
}
@@ -148,6 +145,7 @@ export default defineComponent({
updated() {
this.setPosition();
+ this.items = (this.$refs.suggests as Element | undefined)?.children || [];
},
mounted() {
@@ -371,6 +369,7 @@ export default defineComponent({
selectNext() {
if (++this.select >= this.items.length) this.select = 0;
+ if (this.items.length === 0) this.select = -1;
this.applySelect();
},
@@ -384,8 +383,10 @@ export default defineComponent({
el.removeAttribute('data-selected');
}
- this.items[this.select].setAttribute('data-selected', 'true');
- (this.items[this.select] as any).focus();
+ if (this.select !== -1) {
+ this.items[this.select].setAttribute('data-selected', 'true');
+ (this.items[this.select] as any).focus();
+ }
},
chooseUser() {