Flutter中如何创建内联匿名函数解决Switch的onChanged参数类型不匹配错误
解决方案
可以直接通过内联匿名函数解决该类型不匹配问题。
报错原因
Switch组件的onChanged回调要求传入的参数类型为ValueChanged<bool>,即需要是接收1个布尔类型参数的函数,你原有代码中的内联匿名函数没有声明接收该参数,导致函数类型不匹配触发报错。
正确内联写法
Switch( value: _showChart, // 给匿名函数声明接收参数即可匹配类型 onChanged: (value) { setState(() { // 空安全场景可加!断言,Switch返回的状态值不会为空 _showChart = value!; }); }, )
补充说明
回调参数value是Switch组件触发回调时主动返回的开关最新状态值,直接使用即可,无需额外抽离独立函数。
内容的提问来源于stack exchange,提问作者Dirk
相关产品推荐
相关产品推荐

