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

Flutter使用Consumer报错:参数类型Type无法赋值给Widget Function类型参数

错误原因

该报错为provider依赖包版本迭代导致的API不兼容问题:新版Consumer组件要求传入的builder函数签名为Widget Function(BuildContext, MenuInfo, Widget?),你当前代码的参数顺序完全颠倒,同时存在函数结构缺失的语法问题。

修复方案

  • 调整builder的参数顺序,严格遵循(BuildContext context, 泛型值, Widget? child)的顺序
  • 补全builder的函数实现结构,添加大括号与返回的Widget逻辑

修正后代码参考

Consumer<MenuInfo> buildMenuMethod(MenuInfo currentMenuInfo) {
    return Consumer<MenuInfo>(
      // 修正参数顺序+补全函数结构
      builder: (BuildContext context, MenuInfo value, Widget? child) {
        return Padding(
          padding: const EdgeInsets.symmetric(vertical: 16.0),
          child: TextButton(
            style: TextButton.styleFrom(
              backgroundColor: currentMenuInfo.title == '    Clock    '
                  ? Colors.grey.shade900
                  : Colors.transparent,
            ),
            // 此处补全你原有TextButton的onPressed、child等剩余逻辑即可
          ),
        );
      },
    );
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:36:02