Browse Source

fix: chat scroll (#2981)

zxhlyh 1 year ago
parent
commit
61f5de9662
1 changed files with 11 additions and 3 deletions
  1. 11 3
      web/app/components/base/chat/chat/index.tsx

+ 11 - 3
web/app/components/base/chat/chat/index.tsx

@@ -9,7 +9,6 @@ import {
   useRef,
 } from 'react'
 import { useTranslation } from 'react-i18next'
-import { useThrottleEffect } from 'ahooks'
 import { debounce } from 'lodash-es'
 import type {
   ChatConfig,
@@ -92,10 +91,19 @@ const Chat: FC<ChatProps> = ({
       chatFooterInnerRef.current.style.width = `${chatContainerInnerRef.current.clientWidth}px`
   }, [])
 
-  useThrottleEffect(() => {
+  useEffect(() => {
     handleScrolltoBottom()
     handleWindowResize()
-  }, [chatList], { wait: 500 })
+  }, [handleScrolltoBottom, handleWindowResize])
+
+  useEffect(() => {
+    if (chatContainerRef.current) {
+      requestAnimationFrame(() => {
+        handleScrolltoBottom()
+        handleWindowResize()
+      })
+    }
+  })
 
   useEffect(() => {
     window.addEventListener('resize', debounce(handleWindowResize))