Skip to content
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

期望 Bubble.List 组件支持虚拟滚动 #502

Open
Hidesam opened this issue Jan 25, 2025 · 4 comments
Open

期望 Bubble.List 组件支持虚拟滚动 #502

Hidesam opened this issue Jan 25, 2025 · 4 comments

Comments

@Hidesam
Copy link

Hidesam commented Jan 25, 2025

需求动机

目前当数据量大的setItem的时候,DOM在不停的添加到容器中,导致撑开容器Y轴滚动条也不停的变小,deepseek或者chatGPT在加载历史消息的时候不会出现这种情况

提议的 API 是什么样的?

No response

Copy link

您提到的关于 Bubble.List 组件支持虚拟滚动的需求是一个很好的建议,尤其是在处理大量数据时,虚拟滚动可以显著提高性能和用户体验。目前,您提到的问题是由于在大量数据添加到 DOM 中时,滚动条的尺寸不断变化,这确实是一个常见的性能瓶颈。

关于您提议的 API 设计,如果您有具体的想法或需求,可以进一步详细描述,这样有助于开发团队更好地理解和实现该功能。

如果您希望将此建议提交为功能请求以供开发团队考虑,请让我知道,我可以帮助您进行提交。

🪧 Tips For further assistance, please describe your question in the comments and @petercat-assistant to start a conversation with me.

@eleliauk
Copy link

eleliauk commented Feb 6, 2025

assign可以给我吗,我试着解决一下

@eleliauk
Copy link

eleliauk commented Feb 6, 2025

我目前想的是

  • 使用 react-window 的 FixedSizeList 来实现虚拟滚动。
  • 在 renderRow 中渲染每一项,style 用来确保列表项正确定位。
  • 通过 height 和 itemSize 来控制列表的高度和每一项的高度,确保只有可视区域内的元素被渲染。

不知道这个技术方案是否可行?

@Hidesam
Copy link
Author

Hidesam commented Feb 7, 2025

我目前想的是

  • 使用 react-window 的 FixedSizeList 来实现虚拟滚动。
  • 在 renderRow 中渲染每一项,style 用来确保列表项正确定位。
  • 通过 height 和 itemSize 来控制列表的高度和每一项的高度,确保只有可视区域内的元素被渲染。

不知道这个技术方案是否可行?

每一个对话的高度都是动态的,我尝试过,整体体验不太好,而且文档流是从上至下,渲染最新的消息的时候会有抽搐感

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants