下拉列表中的复选框颤动

Sal*_*lem 1 checkbox flutter flutter-layout

我在下拉菜单中使用复选框,但是当我选择该框时,除非关闭菜单并再次打开它,否则不会发生任何变化,这是我的代码

items: [
DropdownMenuItem(
child: Row(
children: <Widget>[
Checkbox(
onChanged: (bool value) {
setState(() {
isSat = value;});},
value: isSat,),
Text(
daysList[0]['days'],),],),),
DropdownMenuItem(
child: Row(
children: <Widget>[
Checkbox(
onChanged: (bool value) {
setState(() {
isFri = value;});},
value: isFri,),
Text(
daysList[6]['days'],),],),)
].toList(),
onChanged: (value) {},),
Run Code Online (Sandbox Code Playgroud)

osa*_*xma 5

您需要用 包裹所有复选框StatefulBuilder。您setState使用的仅适用于包含所有下拉菜单的小部件的状态,但不适用于复选框的状态。

在这里你可以如何做到这一点:

 StatefulBuilder(
    builder: (BuildContext context, StateSetter stateSetter) {
      return Checkbox(
        onChanged: (bool value) {
          // note here we call stateSetter from the StatefulBuilder!
          stateSetter(() {
              // reverse the value
              isFri = !isFri;
         });
        },
        value: isFri,
       );
  }),

Run Code Online (Sandbox Code Playgroud)

您必须为每个CheckBox小部件执行此操作。