next
next copied to clipboard
[Select]select 性能问题
这个 demo 不对吧,没有 select
这个 demo 不对吧,没有 select 抱歉之前没有保存上 ,在看下,在与field使用时会很卡,input 等当前页面都会变卡。
我看到了,你demo里面有 40000 个选项,一定会卡的!!
我看到了,你demo里面有 40000 个选项,一定会卡的!!
你可以看到我已经开启了虚拟滚动,即使我不去操作select,只是放到页面上,那么每次render它都会重新执行 renderMenu(是否是造成性能问题的关键),源码里 renderMenu 似乎是个全量循环的过程(这个时候是否可以先进行数据切割在遍历),业务中这种万级的数据场景非常常见 ,并且我用 antd 进行对比是很流畅的 但fusion的Field更新策略和antd是有差别的, 所以我想了解一下这种场景fusion后续会进行优化吗


demo 已补充,待确认
@wwglala 后续 fusion 在 1.x 的实现中不会优化该场景,一方面是以目前的实现改造成本较高,另一方面是大数据量带来的性能瓶颈不仅仅会表现在 render 阶段,任意涉及到遍历数据的场景都会有这个问题,即使是复杂度为 n 的遍历也会造成卡顿,改动这个点并不能有效解决问题,不如从根源入手,通过远程搜索或懒加载的方式避免这个问题,况且巨量数据吐到 web 端从交互、性能等方面考虑本身也是不可取的。
后续在 2.x 的版本中我们会考虑很多组件在大数据量下的性能表现,可能涉及较多组件,可以通过变更日志关注进展.