climblee / uv-ui

uv-ui 破釜沉舟之兼容vue3+2、app、h5、小程序等多端基于uni-app和uView2.x的生态框架,支持单独导入,开箱即用,利剑出击。
MIT License
741 stars 35 forks source link

瀑布流组件数据排版分配有bug #132

Open TAYUN opened 1 week ago

TAYUN commented 1 week ago

原来的判断逻辑是不是有一个bug,比如当我的数据只有一条的时候或者下拉刷新的时候,数据应该还是放在第一列,尽管数据第二列没有数据。但原来的逻辑是因为第二列没有数据或者高度比第一列小,重新排版的时候 1 2列数据就会调换。 image

原来的问题分析 原来的逻辑:在 getMin 方法中,如果存在列的高度为 0,即空列,算法会优先选择这些空列来插入数据。 问题场景:当数据只有一条时,理想的行为是始终将这条数据放在第一列,即使其他列是空的。但是,原来的逻辑会因为第二列(或其他列)是空的(高度为 0),导致数据被插入到这些空列中,而不是第一列。 image 兼顾下拉刷新和单条数据的处理:确保在下拉刷新时,数据正确地插入到第一列。 避免单条数据被插入到非预期的列中:即使在非刷新状态下,只有一条数据时也会优先放在第一列。

我的环境: vue3 h5