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

runAI需3个位置参数仅传2个,添加参数后home_page.dart报错求助

问题解决:runAI参数不匹配错误

问题分析

  • 初始错误:调用runAI时提示「3 positional arguments expected by 'runAI', but 2 found」,说明runAI方法定义需要3个位置参数,但调用时仅传入2个。
  • 添加第三个参数resolution后,home_page.dart中调用报错,原因是调用处未同步补充第三个参数,或参数传递方式不匹配。

解决方案

根据代码场景,有两种可行修复方式:

方式一:将resolution改为命名可选参数(推荐)

修改image_cubit.dart中runAI的方法定义,把resolution设为带默认值的命名参数,既兼容原有调用,又能灵活指定分辨率:

Future<void> runAI(String prompt, String style, {String resolution = "1024x1024"}) async {
  // 原有方法逻辑
}

在home_page.dart中调用时,可按需传递参数:

// 仅传前两个参数(使用默认分辨率)
context.read<ImageCubit>().runAI(promptController.text, selectedStyle);

// 或指定分辨率参数
context.read<ImageCubit>().runAI(promptController.text, selectedStyle, resolution: "1536x1536");

方式二:补充位置参数

若必须使用位置参数,直接在home_page.dart的调用处补充第三个参数值,比如传入默认分辨率或用户选择的分辨率:

context.read<ImageCubit>().runAI(promptController.text, selectedStyle, "1024x1024");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 10:37:34