You need to enable JavaScript to run this app. Flutter如何向非页面新Widget传数据 Navigator.push传图不生效如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Flutter如何向非页面新Widget传数据 Navigator.push传图不生效如何解决

Flutter 非页面Widget传值及Navigator使用修正方案

核心问题原因

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 08:06:05