我有两个有状态的小部件。我将其中一个称为父小部件,因为它将生成一个列表(地图标记),该列表将被传递给第二个小部件(子小部件,一个位于不同dart文件中的地图)。我有一个默认的标记列表,该列表在父小部件的异步函数中更新。尽管使用setState()更新列表,但子小部件(地图)不受此更新的影响。在将数据传递给build方法中的小部件之前,有什么方法可以等待吗?
class ParentWidget extends StatefulWidget{
.............
}
class _ParentWidgetState extends State<ParentWidget> {
List markers = [LatLng(0,0)];
@override
void initState() {
super.initState();
updateMarkers();
}
updateMarkers () async {
updatedMarkers = await getUpdatedMarkers()
setState((){
markers = updatedMarkers
});
# # print(updatedMarkers)
# # ^^ prints the correct data that I want to pass in MyMap
}
@override
Widget build(BuildContext context) {
return Scaffold(
............
body: MyMap(markers: markers);
# # The original markers ([LatLng(0,0)]) is the only data getting passed to MyMap
# # How can I get the updatedMarkers passed to the MyMap widget???????
}发布于 2019-11-23 05:59:18
我想这个视频可能就是你的答案:https://www.youtube.com/watch?v=d_m5csmrf7I
他有两个StatefulWidgets (幻灯片和图表)。通过使用提供程序,他可以在滑块移动时更改图表数据。
https://stackoverflow.com/questions/58985829
复制相似问题