Files
test1/components/nova-sdk/hooks/useMessageScroll.ts
2026-03-20 07:33:46 +00:00

26 lines
655 B
TypeScript

import { useRef, useCallback } from 'react'
import type { MessageListRef } from '../message-list'
/**
* 消息滚动管理 Hook
*/
export function useMessageScroll() {
const messageListRef = useRef<MessageListRef>(null)
const scrollToBottom = useCallback((behavior: ScrollBehavior = 'smooth') => {
messageListRef.current?.scrollToBottom(behavior)
}, [])
const scrollToBottomDelayed = useCallback((delay = 100, behavior: ScrollBehavior = 'smooth') => {
setTimeout(() => {
messageListRef.current?.scrollToBottom(behavior)
}, delay)
}, [])
return {
messageListRef,
scrollToBottom,
scrollToBottomDelayed,
}
}