【问题标题】:How to update list view without refreshing in Flutter如何在 Flutter 中更新列表视图而不刷新
【发布时间】:2021-11-30 08:31:54
【问题描述】:

如何在不执行下拉刷新的情况下更新列表视图元素 如果我在对话框窗口或 Api 中添加元素,如何自动添加/更新列表视图元素。

我应该使用 StreamBuilder 吗?

【问题讨论】:

    标签: flutter api listview


    【解决方案1】:

    使用Getx 之类的状态管理pub,或adlistener 之类的东西。

    【讨论】:

    • @SanjayChakrapani 请标记完成我的答案。并给我点赞
    • 我使用 Getx 进行状态管理,将 listview-builder 包裹在 .obx 小部件中,
    • 我的回答能满足你的问题吗?
    • 是的,只要我有足够的时间我会支持你
    • 请检查我的答案旁边是否有标记为完成的选项,以便人们可以得到答案是可行的。你也会得到分数
    【解决方案2】:

    是的,您可以使用流生成器,也可以使用 setstate

    setState(() { });
    

    【讨论】:

    • 感谢重播,我尝试了 setSate(),但没有帮助。如果我添加一个按钮来执行 setSate() 它正在工作。
    【解决方案3】:

    StreamBuilder Widget 基于与 Stream 交互的最新快照构建自身。因此,只要连接状态处于活动状态,只要在列表中添加新元素,应用程序的状态就会发生变化。

    您还可以使用 ListView Builder 和 setState 方法的组合,但应用程序的状态需要在添加新元素时更改。早期的 StreamBuilder 小部件正在更新应用程序的状态。各种方法,例如在屏幕上添加按钮,可以帮助用户手动更改状态;可以根据用例使用。

    您可以从官方文档中了解更多信息:setState method StreamBuilder

    【讨论】:

      【解决方案4】:

      这个答案并不完全是关于更新 listView,而是更新一个小部件(PiChart)。由于listview也是一个widget,所以实现不刷新就更新。

      在这种方法中,我使用 streamBuilder 来更新小部件。因此无需刷新应用即可更新数据。

      https://stackoverflow.com/a/69800324/13577765

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-19
        • 1970-01-01
        • 2011-10-23
        • 1970-01-01
        • 1970-01-01
        • 2016-10-23
        • 1970-01-01
        • 2015-07-18
        相关资源
        最近更新 更多