我的主小部件在FutureBuilder
里面有一个ListView
。 此列表中的所有条目都是从具有GET
请求的 Web 后端请求的。
还有第二个小部件,其中包含一个对话框,用于将新数据添加到后端。 我使用POST
请求来发送数据。 发送数据后,应用程序将返回到主小部件。
我的两个请求都捆绑在一个类HttpHandler
中(如Future<List<Data>> getData()
和Future<List<Data>> postData(Data data)
(。 我在文件globals.dart
中只有此HttpHandler
的一个实例。 两个小部件都使用此全局处理程序。
我想在将数据发送到后端后更新主小部件中的ListView
。 我该怎么做?
刷新按钮(使用setState(...)
(已在使用中并正常工作。
如果你不想使用"setState",你可以创建一个新的类"HttpHandler",它使用提供程序体系结构扩展了ChangeNotifier。
在小部件树中,使用"HttpHandler"更改通知程序在小部件树中定义一个 ChangeNotifierProvider。
在"HttpHandler"中的"getData"调用中,最后调用NotifyListeners((以刷新ChangeNotifierProvider下的Widget GUI。