我有两个有状态的小部件。 我将其称为父级,因为它会生成一个列表(包含地图标记),该列表将传递给第二个小部件(子代,一个地图,位于另一个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???????
}
答案 0 :(得分:0)
我认为这部影片可能是您的答案:https://www.youtube.com/watch?v=d_m5csmrf7I
他有两个StatefulWidgets(滑块和图表)。通过使用提供者,他可以在滑块移动时更改图表数据。