dev*_*alp 6 dart flutter flutter-layout
我正在尝试学习 Flutter 中的复选框。
问题是,当我想在 Scaffold(body:) 中使用复选框时,它正在工作。但我想在不同的地方使用它,比如 ListView 中的一个项目。
return Center(
child: Checkbox(
value: testValue,
onChanged: (bool value) {
setState() {
testValue = value;
}
},
));
Run Code Online (Sandbox Code Playgroud)
但它不起作用,更新和改变任何东西。
编辑:我通过在 StatefulBuilder 中放置复选框解决了我的问题。感谢@cristianbregant
return StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return Center(
child: CheckboxListTile(
title: const Text('Animate Slowly'),
value: _valueCheck,
onChanged: (bool value) {
setState(() {
_valueCheck = value;
});
},
secondary: const Icon(Icons.hourglass_empty),
),
);
});
Run Code Online (Sandbox Code Playgroud)
cri*_*ant 14
试试这些吧:
return Center(
child: CheckboxListTile(
title: const Text('Animate Slowly'),
value: _valueCheck,
onChanged: (bool value) {
setState(() {
_valueCheck = value;
});
},
secondary: const Icon(Icons.hourglass_empty),
),
);
Run Code Online (Sandbox Code Playgroud)
请记住,如果您在对话框中使用它,或者bottomsheet您需要将复选框小部件包装在有状态构建器中,因为状态不会更新。
| 归档时间: |
|
| 查看次数: |
7610 次 |
| 最近记录: |