From b5e920831f3e2ea94c809b0dd99f08c16d9feceb Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期五, 08 十一月 2024 14:20:00 +0800 Subject: [PATCH] 修改删除常用语时面板被关闭的问题 --- src/components/chat/hooks/useScrollToBottom.ts | 43 ++++++++++++++----------------------------- 1 files changed, 14 insertions(+), 29 deletions(-) diff --git a/src/components/chat/hooks/useScrollToBottom.ts b/src/components/chat/hooks/useScrollToBottom.ts index 3272653..66a344d 100644 --- a/src/components/chat/hooks/useScrollToBottom.ts +++ b/src/components/chat/hooks/useScrollToBottom.ts @@ -6,49 +6,34 @@ export type UseScrollToBottomOption = { chatListDom: Ref<HTMLDivElement>; - displayMessageList: ComputedRef<ChatMessage[]>; }; export const useScrollToBottom = (option: UseScrollToBottomOption) => { - const { chatListDom, displayMessageList } = option; + const { chatListDom } = option; const scrollToBottom = () => { - if (!chatListDom.value) return; - const parent = chatListDom.value.parentElement; - if (!parent) return; - if (parent.scrollHeight > parent.clientHeight) { - parent.scrollTop = parent.scrollHeight - parent.clientHeight; - } + nextTick(() => { + + if (chatListDom.value.scrollHeight > chatListDom.value.clientHeight) { + chatListDom.value.scrollTop = chatListDom.value.scrollHeight - chatListDom.value.clientHeight; + } + }); }; const debounceAmisScroll = debounce(({ instance }) => { - nextTick(() => { - scrollToBottom(); - }); + scrollToBottom(); }, 500); - emitter.on('amis.page.ready', debounceAmisScroll); + // emitter.on('amis.page.ready', debounceAmisScroll); - onUnmounted(()=>{ - emitter.off('amis.page.ready'); - }) - const forbidScroll = ref(false); - watch( - displayMessageList, - () => { - if (forbidScroll.value) return; - nextTick(() => scrollToBottom()); - }, - { - deep: true, - } - ); + // onUnmounted(() => { + // emitter.off('amis.page.ready'); + // }); onActivated(() => { - if (forbidScroll.value) return; - nextTick(() => scrollToBottom()); + scrollToBottom(); }); return { - forbidScroll, + scrollToBottom, }; }; -- Gitblit v1.9.3