如何使用ValueListenableBuilder小部件包装复选框小部件?

时间:2020-08-25 04:30:47

标签: flutter checkbox setstate

复选框( 值:datas [i] [“ check”], onChanged:(bool newValue)=> setState((){ 循环中的数组数据 datas [i] [“ check”] =!datas [i] [“ check”]; }), ),

1 个答案:

答案 0 :(得分:0)

您可以将CheckboxValueListenableBuilder一起使用,如下所示:

假设您有一个ValueNotifier变量_checkboxState来保持您的Checkbox状态:

final ValueNotifier<bool> _checkboxState = ValueNotifier<bool>(false); //Initialized to false

您可以使用Checkbox包装ValueListenableBuilder小部件,并摆脱setState方法并设置ValueNotifier变量值:

ValueListenableBuilder(
      valueListenable: _checkboxState,
      builder: (BuildContext context, dynamic value, Widget child) {
        return Checkbox(
          value: _checkboxState.value,
          onChanged: (newCheckboxState) {
            _checkboxState.value = newCheckboxState;
          },
        );
      },
    ),