You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter跳转StatefulWidget作为第二页时required参数缺失如何解决?

问题根因

你的报错和组件是否为StatefulWidget类型无关,核心是Records类的构造函数明确声明了required List<String> records必填参数,你跳转创建Records实例时没有传入对应参数,才触发该错误。

报错原文:The named parameter 'records' is required, but there's no corresponding argument.

解决方案

按以下步骤修改即可:

  1. 在_HomePageState类中定义存储录音记录的列表,用于保存a页面(Recorder)生成的录音数据:
class _HomePageState extends State<HomePage> {
  // 新增:存储所有录音记录
  List<String> _records = [];

  // 原有其他代码不变
}
  1. 首页加载Recorder组件时,正确传入save回调,录音完成后更新本地记录列表:
// 放在Scaffold的body属性位置
body: Recorder(
  save: (String newRecord) {
    setState(() {
      _records.add(newRecord);
    });
  }
),
  1. 修改跳转逻辑,将本地维护的_records列表传给Records组件:
InkWell(
  child: Icon(Icons.mic),
  onTap: () {
    Navigator.push(
      context,
      MaterialPageRoute(builder: (context) => Records(records: _records))
    );
  },
)

如果只是临时测试跳转逻辑,也可以先传入空列表验证:Records(records: [])。


内容的提问来源于stack exchange,提问作者lele

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:18:05