Flutter如何向非页面新Widget传数据 Navigator.push传图不生效如何解决
核心问题原因
Navigator.push() 方法仅接收Route类型的入参,不能直接传入自定义Widget对象,你需要先将目标Widget包裹到路由容器中再调用push方法。
正确实现方式
场景1:需要将SecondWidget作为独立页面打开
使用MaterialPageRoute包裹目标Widget即可,示例代码如下:
Navigator.push( context, MaterialPageRoute( builder: (context) => SecondWidget(image: image), ), );
场景2:SecondWidget是嵌入当前页面的子组件(非页面类型)
不需要调用任何Navigator相关API,直接在当前页面组件树需要展示的位置传入构造参数即可:
// 你要展示SecondWidget的位置直接写即可 child: SecondWidget(image: image)
其他潜在错误修正
- 你定义的参数类型
Unint8List拼写错误,正确写法是Uint8List - 图片加载方法的首字母需小写,正确写法是
Image.memory(widget.image)
内容的提问来源于stack exchange,提问作者Tizi Dev
相关产品推荐
相关产品推荐

