Flutter 从文档选取器返回
我试图从DocumentPicker导航回来,当时一个文件并没有被选中,但它显示为黑屏,并且控制台中并没有错误。如何修复它Flutter 从文档选取器返回,flutter,Flutter,我试图从DocumentPicker导航回来,当时一个文件并没有被选中,但它显示为黑屏,并且控制台中并没有错误。如何修复它 Future<void> _getFile(BuildContext context) async { final FlutterDocumentPickerParams params = FlutterDocumentPickerParams( allowedFileExtensions: ['txt'], ); fina
Future<void> _getFile(BuildContext context) async {
final FlutterDocumentPickerParams params = FlutterDocumentPickerParams(
allowedFileExtensions: ['txt'],
);
final String path = await FlutterDocumentPicker.openDocument(params: params)
.catchError((dynamic e) {
print(e.toString());
return; // ?
});
print(path); // null, i.e. file was not selected
if (path == null) {
// back button pressed i.e. file was not selected
Navigator.pop(
context); // can not find previous screen, it shows black screen, there is no error in console
return; // ?
}
...
Future\u getFile(BuildContext上下文)异步{
最终颤振文档PickerParams参数=颤振文档PickerParams(
allowedFileExtensions:['txt'],
);
最终字符串路径=documentpicker.openDocument(params:params)
.catchError((动态e){
打印(如toString());
返回;/?
});
打印(路径);//空,即未选择文件
if(路径==null){
//按下后退按钮,即未选择文件
Navigator.pop(
context);//找不到上一个屏幕,显示黑屏,控制台中没有错误
返回;/?
}
...
黑屏意味着,您的根
/主
小部件已从导航堆栈中弹出。这意味着您试图弹出的小部件不是文档选择器
,而是根
小部件
我认为您不需要弹出当前小部件,因为输出path
只有在documentpicker
小部件被释放/关闭后才可用
只需从该方法返回
,无需弹出小部件。我认为无论文件是否选中,您都不必调用Navigator.pop()