JavaScript 滚动到指定元素

JavaScript About 762 words

需求

ChatBot聊天对话框中,当有新消息时,聊天记录列表滚动到最后。

方案

在聊天记录列表元素的最后加一个div,每次有新消息,都使用div元素的scrollIntoView

React 代码

const Chat = () => {
    const bubbleListBottom = React.useRef<HTMLDivElement>(null);
    const [messages, setMessages] = React.useState<Message[]>([])
    
    React.useEffect(() => {
        bubbleListBottom.current?.scrollIntoView({behavior: 'smooth'});
    }, [messages]);
    
    return (
                {
                    messages.map((message: Message, index: number) => {
                            return <div key={index}>
                                <Bubble/>
                            </div>
                        }
                    )
                }
                <div ref={bubbleListBottom}></div>
    )
}

export default Chat;
Views: 8 · Posted: 2026-05-27

———         Thanks for Reading         ———

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓
Prev Post
Today In History
Browsing Refresh