问题描述
例如在这个函数中,函数接收值但它不能返回它,因为它返回小部件“Switch”:
import 'package:Flutter/material.dart';
class CustumSwitch extends StatefulWidget {
bool _switchGD;
CustumSwitch(this._switchGD);
@override
_CustumSwitchState createState() => _CustumSwitchState();
}
class _CustumSwitchState extends State<CustumSwitch> {
@override
Widget build(BuildContext context) {
return Switch(
value: widget._switchGD,onChanged: (value) {
setState(() {
widget._switchGD = !widget._switchGD;
});
});
}
}
解决方法
在构建期间要动态更改值的每种情况下,您都必须使用 setState() 方法。
onChanged: (value) {
setState((){
widget._switchGD = !widget._switchGD;
});
});
它会起作用..但我建议您了解一些有关 Flutter 最佳实践的知识,因为您永远不想使用非最终字段作为 Widget 参数。