0

我想为我知道的编程语言创建一个清单。我使用 Set() 来包含数据。但是当我在 CheckboxListTile() 中使用它时,它并没有选中 UI 中的框。我想使用flutter_hooks来做到这一点。

  1. 我为 ProgrammingLanguages 创建了一个枚举。

enum ProgrammingLanguages { C, DART, PYTHON, JAVASCRIPT }

  1. 然后我像这样在无状态的 Widget 类中初始化了集合

final _selectedLanguages = useState<Set>(Set<ProgrammingLanguages>());

  1. 在构建中,我添加了一个像这样的 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 中,我无法激活该复选框。请帮忙。

4

0 回答 0