首页 > 解决方案 > 使用流构建 loadmore 列表视图

问题描述

我使用future在flutter中构建了一个基本的分页列表视图,它似乎运行良好:

  Future loadNext() async {
    if (!isPerformingRequest && isLoadMore) {
      setState(() => isPerformingRequest = true);

      int page = (objects.length / widget.pageSize).ceil() + 1;
      List<T> fetched = await widget.pageRequest(page, pageSize);

      if (fetched == null ||
          fetched.length == 0 ||
          fetched.length < pageSize) {
        this.setState(() {
          isLoadMore = false;
        });
      }

      if (mounted) {
        this.setState(() {
          //this.addObjects(fetched);
          objects.addAll(fetched);
          isPerformingRequest = false;
        });
      }
    }
  }

现在我想改用stream和streambuilder,但我不知道如何编写一个条件来停止加载更多,如何知道哪个页面是最后一页?

标签: dartflutter

解决方案


推荐阅读