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({