提问人:Laurent Thomas 提问时间:9/29/2022 更新时间:9/29/2022 访问量:28
Flutter - 从其他视图获取数据 - 打印时获取 'Future<List<String>?>' 的实例而不是数据
Flutter - Getting data from an other view - when print getting Instance of 'Future<List<String>?>' instead of the data
问:
我有两个视图相互作用。在第一个视图上,用户可以点击一个按钮,这将显示第二个视图,在那里他可以完成一个表单。完成后,我想将表单的数据传输到数组中。这是有效的。 但是,我想将数组数据发送到第一个屏幕,并在我的第一个视图中使用数组的数据。
这是我的做法。当我打印变量 dataFromFirstAction 时,我得到的是“Future<List?> 的实例。我想要的是获取数组,以便我可以访问每个字段并将它们用于我的第一个视图。非常感谢。
第一视图
void _openAddEntryDialog(String futureProjectName) async {
final firstActionData = Navigator.of(context).push(MaterialPageRoute<List<String>>(
builder: (BuildContext context) {
return AddingFirstActionToProjectV2(getprojectName:futureProjectName );
},
fullscreenDialog: true
),
);
setState(() {
dataFromFirstAction = firstActionData;
print('firstActionData');
print (firstActionData.);
});
}
第二视图
ElevatedButton(
onPressed: (){
print('PRG:$getprojectName');
if(_addFirstTaskFormKey.currentState!.validate()){
firstActionToRecord.insert(0,selectedFocusCapture!);
Navigator.pop(context, firstActionToRecord);
} else{
_showSnackBarErrorMessage();
print("not validated");
}
}, child: const Text('Press'),
),
答:
2赞
Ivo
9/29/2022
#1
你需要等待结果,比如
final firstActionData = await Navigator.of(context).push(MaterialPageRoute<List<String>>(
builder: (BuildContext context) {
return AddingFirstActionToProjectV2(getprojectName:futureProjectName );
},
fullscreenDialog: true
),
);
评论
0赞
Laurent Thomas
9/29/2022
非常感谢。我应该找到它。关于 Flutter,我还有很多东西要学 ;-)
评论