feat: 視情況 自動滾動到最新消息
This commit is contained in:
@@ -75,6 +75,11 @@ export default function ChatFragment({ target, ...props }: Args) {
|
|||||||
const { chat, msg } = (data as OnMessageData)
|
const { chat, msg } = (data as OnMessageData)
|
||||||
if (target == chat) {
|
if (target == chat) {
|
||||||
setMessagesList(messagesList.concat([msg]))
|
setMessagesList(messagesList.concat([msg]))
|
||||||
|
if ((chatPanelRef.current!.scrollHeight - chatPanelRef.current!.scrollTop - chatPanelRef.current!.clientHeight) < 80)
|
||||||
|
setTimeout(() => chatPanelRef.current!.scrollTo({
|
||||||
|
top: 10000000000,
|
||||||
|
behavior: "smooth",
|
||||||
|
}), 100)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return () => {
|
return () => {
|
||||||
@@ -96,11 +101,6 @@ export default function ChatFragment({ target, ...props }: Args) {
|
|||||||
}, 5000)
|
}, 5000)
|
||||||
if (checkApiSuccessOrSncakbar(re, "發送失敗")) return
|
if (checkApiSuccessOrSncakbar(re, "發送失敗")) return
|
||||||
inputRef.current!.value = ''
|
inputRef.current!.value = ''
|
||||||
|
|
||||||
chatPanelRef.current!.scrollTo({
|
|
||||||
top: 10000000000,
|
|
||||||
behavior: "smooth",
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
Reference in New Issue
Block a user