我想为我知道的编程语言创建一个清单。我使用 Set() 来包含数据。但是当我在 CheckboxListTile() 中使用它时,它并没有选中 UI 中的框。我想使用flutter_hooks来做到这一点。
- 我为 ProgrammingLanguages 创建了一个枚举。
enum ProgrammingLanguages { C, DART, PYTHON, JAVASCRIPT }
- 然后我像这样在无状态的 Widget 类中初始化了集合
final _selectedLanguages = useState<Set>(Set<ProgrammingLanguages>());
- 在构建中,我添加了一个像这样的 CheckBoxListTile。
CheckboxListTile(
title: Text('C'),
value: _selectedLanguages.value.contains(ProgrammingLanguages.C),
onChanged: (value) {
value
? _selectedLanguages.value.remove(ProgrammingLanguages.C)
: _selectedLanguages.value.add(ProgrammingLanguages.C);
}),
但在最终的 UI 中,我无法激活该复选框。请帮忙。