-
Notifications
You must be signed in to change notification settings - Fork 323
fix(message): 修复短时间内触发多个message位置展示异常问题 #4023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Boomkaa
wants to merge
2
commits into
develop
Choose a base branch
from
fix/message
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+92
−63
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
commit: |
Contributor
|
Size Change: +149 B (+0.07%) Total Size: 201 kB
ℹ️ View Unchanged
|
Collaborator
TDesign Component Site Preview Open
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

🤔 这个 PR 的性质是?
🔗 相关 Issue
fix #3520
💡 需求背景和解决方案
需求背景:用户短时间内连续触发多个 Message 消息时,消息的垂直位置计算错误,导致消息重叠或位置偏移。原因是多个消息的添加操作是异步的,没有做串行化处理,计算偏移高度时获取到的实例数据不准确。
解决方案:
1、Promise 队列串行化:确保每个消息完全显示(包括高度计算完成)后,才添加下一个消息,避免并发导致的位置计算错误。
2、show 方法异步化:将 message-item 的 show 方法改为返回 Promise,在消息高度计算完成后才 resolve,配合队列机制使用。
3、single 消息特殊处理:优化 single 模式消息的逻辑,single 消息始终在顶部且不参与偏移量计算,移除时也不影响其他消息的位置。
📝 更新日志
fix(message): 修复短时间内触发多个message位置展示异常问题
本条 PR 不需要纳入 Changelog
☑️ 请求合并前的自查清单