diff --git a/app/src/emoji/index.ts b/app/src/emoji/index.ts index 2fee4e95c2b..409b66b91fd 100644 --- a/app/src/emoji/index.ts +++ b/app/src/emoji/index.ts @@ -523,15 +523,28 @@ export const openEmojiPanel = (id: string, type: "doc" | "notebook" | "av", posi if (target.classList.contains("emojis__type")) { const titleElement = emojisContentElement.querySelector(`[data-type="${target.getAttribute("data-type")}"]`) as HTMLElement; if (titleElement) { - const index = titleElement.nextElementSibling.getAttribute("data-index"); + const previousElement = titleElement.previousElementSibling as HTMLElement; + const previousIndex = previousElement?.getAttribute("data-index"); + const nextElement = titleElement.nextElementSibling as HTMLElement; + const index = nextElement?.getAttribute("data-index"); + + if (previousIndex) { + let html = ""; + window.siyuan.emojis[parseInt(previousIndex)].items.forEach(emoji => { + html += ``; + }); + previousElement.innerHTML = html; + previousElement.removeAttribute("data-index"); + previousElement.style.minHeight = ""; + } if (index) { let html = ""; window.siyuan.emojis[parseInt(index)].items.forEach(emoji => { - html += ``; + html += ``; }); - titleElement.nextElementSibling.innerHTML = html; - titleElement.nextElementSibling.removeAttribute("data-index"); + nextElement.innerHTML = html; + nextElement.removeAttribute("data-index"); + nextElement.style.minHeight = ""; } emojisContentElement.scrollTo({