diff options
| author | takonomura <takonomura@users.noreply.github.com> | 2020-10-31 09:43:28 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-31 09:43:28 +0900 |
| commit | 3bfae80fa7e0e29192efeeb598eeb5a7c369d204 (patch) | |
| tree | 8c54c991bcf7aba974f54b93008bee7a7458ee58 /src | |
| parent | Fix #6781 (diff) | |
| download | sharkey-3bfae80fa7e0e29192efeeb598eeb5a7c369d204.tar.gz sharkey-3bfae80fa7e0e29192efeeb598eeb5a7c369d204.tar.bz2 sharkey-3bfae80fa7e0e29192efeeb598eeb5a7c369d204.zip | |
補完でタブが効かなくなるケースを修正 (#6779)
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/components/autocomplete.vue | 13 |
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() { |