fix: 修复用户消息不显示和思考气泡残留
renderMessages() 中 existingCount 使用 children.length 计算,
包含了 currentPlaceholder(正在思考...)元素,导致:
1. 新用户消息被误判为已渲染而跳过
2. 旧 placeholder 残留 DOM 变成独立消息气泡
修复:existingCount 改用 querySelectorAll('.message') 只计算实际消息元素
This commit is contained in:
@@ -89,7 +89,8 @@ export function renderMessages(): void {
|
|||||||
emptyStateEl.style.display = 'none';
|
emptyStateEl.style.display = 'none';
|
||||||
messagesContainerEl.style.display = '';
|
messagesContainerEl.style.display = '';
|
||||||
|
|
||||||
const existingCount = messagesContainerEl.children.length;
|
// 只计算已渲染的 .message 元素(排除 placeholder 和其他非消息元素)
|
||||||
|
const existingCount = messagesContainerEl.querySelectorAll('.message').length;
|
||||||
const isNewMessage = existingCount > 0 && existingCount < msgs.length;
|
const isNewMessage = existingCount > 0 && existingCount < msgs.length;
|
||||||
for (let i = existingCount; i < msgs.length; i++) {
|
for (let i = existingCount; i < msgs.length; i++) {
|
||||||
appendMessageDOM(msgs[i], i);
|
appendMessageDOM(msgs[i], i);
|
||||||
|
|||||||
Reference in New Issue
Block a user