我希望当用户在列表上向上滚动时,然后在列表顶部插入项目并在列表底部删除项目。 我怎样才能在flutter中做到这一点?
itemBuilder 在列表中表现不佳,因为它总是插入但从不删除(或插入删除方法?)。 或者我使用 sliverlist (如何?)或者足够使用带有 ListView 的滚动控制器? 哪个是最好的方法?
所以:
重点是:我不想同时添加更多 1000 个项目,而只想显示其中的项目。当用户在列表上滚动时,向子项添加新项目并从隐藏的子项中删除旧项。因此,列表子项仅包含出现的几个项目。
响应您的评论,您对延迟加载 ListView 感兴趣,它仅在子级实际上可见时构建它们。
我认为最好看看ListView.builder。在 ListView 的描述中明确指出:
ListView.builder 采用 IndexedWidgetBuilder,它根据需要构建子级。此构造函数适用于具有大量(或无限)子级的列表视图,因为仅针对那些实际可见的子级调用构建器。
这听起来像是您想要的行为,不是吗?
ListView 的渲染过程只会渲染可见项。