Flutter页面传值问题:传递listDevice后目标页面无数据,求排查语法错误
问题分析与解决
核心问题:类型不匹配
你传递的参数是listDevice,但接收时强制转换为Data类型,这是导致接收不到数据的最可能原因:
- 如果
listDevice是列表类型(比如List<Data>),接收时要对应强转为列表类型,而非单个Data对象:final arguments = ModalRoute.of(context)!.settings.arguments as List<Data>; - 如果
listDevice确实是单个Data对象,要确认listDevice的实际类型就是Data,避免因类型继承、别名等问题导致转换失败。
其他排查方向
- 检查路由配置:确保
MaterialApp的routes中正确注册了'deviceInformation'路由,对应页面组件能正常获取路由参数。 - 先打印参数信息排查:通过打印确认参数是否传递成功、实际类型是什么,再调整强转逻辑:
print(ModalRoute.of(context)!.settings.arguments); print(ModalRoute.of(context)!.settings.arguments.runtimeType);
内容的提问来源于stack exchange,提问作者God Dev
相关产品推荐
相关产品推荐

