flutter 中是否有类似 TextEditingController 的复选框控制器?

Tej*_*kar 5 flutter

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

Nid*_* MT 1

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))
        ]);
  }
}
Run Code Online (Sandbox Code Playgroud)