在flutter中有像TextEditingController这样的复选框控制器吗



在我的flutter项目中,我在一个页面上使用了4个复选框。我想在下一页显示一些列表,根据选中的复选框。那么我该怎么做呢?有没有类似TextEditingController的方法?

class MyWidget extends StatefulWidget {
@override
State<StatefulWidget> createState() => MyWidgetState();
}
class MyWidgetState extends State<MyWidget> {
bool monVal = false;
bool tuVal = false;
bool wedVal = false;
@override
Widget build(BuildContext context) {
return Row(mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[
checkbox(
title: "Mon",
initValue: monVal,
onChanged: (sts) => setState(() => monVal = sts)),
checkbox(
title: "Tue",
initValue: tuVal,
onChanged: (sts) => setState(() => tuVal = sts)),
FlatButton(
child: Text("Print"),
onPressed: () {
print("Mon is ${monVal ? 'checked' : 'unchecked'}");
print("Tue is ${tuVal ? 'checked' : 'unchecked'}");
})
]);
}
Widget checkbox(
{String title, bool initValue, Function(bool boolValue) onChanged}) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(title),
Checkbox(value: initValue, onChanged: (b) => onChanged(b))
]);
}
}

最新更新