为什么我的Checbox不工作?即使在设置设置状态之后



我已经检查了列表中的每个项目,我尝试了堆栈溢出上给出的其他答案,但没有一个对我有用。

这是我的代码:

bool isDone = false;
Checkbox(
activeColor: CustomColors().primaryColor,
value: isDone,
onChanged: (bool val){
setState(() {
val = isDone;
});
},
),

确保isDone成为您正在制作的 Widget 的实例变量。

此外,您正在向后设置状态。尝试这样的事情?

class SomeWidgetState extends State<SomeWidget> {
bool isDone;
@override
Widget build(BuildContext context) {
return (
...
Checkbox(
activeColor: CustomColors().primaryColor,
value: isDone,
onChanged: (bool val){
setState(() {
isDone = val;
});
},
)
);
}
}

你只是修改了错误的值。isDone是你的价值,需要改变。此外,请确保您的isDone设置在构建函数之外。否则,它将在每个设置状态上重置

class _RandomImageState extends State<RandomImage> {
bool isDone = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: (Text('Hello')),
),
body: Checkbox(
activeColor: Colors.red,
checkColor: Colors.black,
value: isDone,
onChanged: (bool val) {
setState(() {
isDone = val;
});
},
),
);
}
}

最新更新