-
Notifications
You must be signed in to change notification settings - Fork 180
fix(BubbleList): 滚动过程的滚动距离计算 #215
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
base: main
Are you sure you want to change the base?
Conversation
WalkthroughA safety check was added to the Changes
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
packages/core/src/components/BubbleList/index.vue (1)
178-182: Good fix, but consider handling the edge case where content doesn't require scrolling.The safety check correctly prevents invalid scroll positions when content height shrinks. However, consider the edge case where
clientHeight > scrollHeight(content fits entirely without scrolling) - in this case,maxScrollTopwould be negative.Consider this improvement to handle the edge case:
- // 处理 lastScrollTop.value 安全距离(scrollHeight 在滚动过程中变小) - const maxScrollTop = scrollHeight - clientHeight; + // 处理 lastScrollTop.value 安全距离(scrollHeight 在滚动过程中变小) + const maxScrollTop = Math.max(0, scrollHeight - clientHeight); if (lastScrollTop.value > maxScrollTop) { lastScrollTop.value = maxScrollTop; }This ensures
maxScrollTopis never negative when content doesn't require scrolling.
修复 BubbleList 的滚动过程的最后滚动距离计算
Summary by CodeRabbit