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

Flutter中如何创建内联匿名函数解决Switch的onChanged参数类型不匹配错误

解决方案

可以直接通过内联匿名函数解决该类型不匹配问题。

报错原因

Switch组件的onChanged回调要求传入的参数类型为ValueChanged<bool>,即需要是接收1个布尔类型参数的函数,你原有代码中的内联匿名函数没有声明接收该参数,导致函数类型不匹配触发报错。

正确内联写法

Switch(
  value: _showChart, 
  // 给匿名函数声明接收参数即可匹配类型
  onChanged: (value) {
    setState(() {
      // 空安全场景可加!断言,Switch返回的状态值不会为空
      _showChart = value!;
    });
  },
)

补充说明

回调参数value是Switch组件触发回调时主动返回的开关最新状态值,直接使用即可,无需额外抽离独立函数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:27:02