【问题标题】:Flutter provider automatically scroll to bottom on list item addFlutter 提供者在添加列表项时自动滚动到底部
【发布时间】:2022-01-10 04:53:55
【问题描述】:

我正在使用颤振提供程序包进行状态管理。我的主屏幕正在侦听 ListView 中的子项添加。一切都很好。但是当从 ChangeNotifier 添加新项目时,我无法将列表视图滚动到底部。

我正在使用下面的代码滚动到底部,手动完成时它可以工作。但正如您所见,提供者模型正在发生变化,而列表视图在其他地方。如何在 ListView 的子项上滚动到底部?

final ScrollController _controller = ScrollController();
  void _scrollDown() {
    _controller.animateTo(
      _controller.position.maxScrollExtent,
      duration: const Duration(seconds: 1),
      curve: Curves.fastOutSlowIn,
    );
  }

然后在 ListView 中

SingleChildScrollView(
            controller: _controller,
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: faqModel.getChatItems(),
            ),
          )

【问题讨论】:

  • 你在哪里调用_scrollDown方法?以及在哪里添加列表视图项?
  • 是的,这就是问题所在。我无法调用 _scrollDown,因为项目是从提供程序模型中添加的。 _scrollDown 驻留在视图中。如何监听模型的变化?
  • 那么什么时候将孩子添加到提供者模型中的列表中?

标签: flutter flutter-layout


【解决方案1】:

请参考此博客:

https://smarx.com/posts/2020/08/automatic-scroll-to-bottom-in-flutter/

在哪里可以找到确切的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-06
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多