问题已解决。贴一下比较完整的代码: class _MyHomePageState extends State { int _step = 0; // 应该写在这里 List believes = []; @override Widget build(BuildContext context) { var talkData = context.read(); final TextEditingController feelController = TextEditingController(text: talkData.feel); final TextEditingController goalController = TextEditingController(text: talkData.goals); final TextEditingController nameController = TextEditingController(text: talkData.name); // 不应该写在这里 List believes = []; 因为我把变量声明在 `build()` 里,导致失效。 * * * 请教大家一个问题,如图:   1. 我使用 `List` 保存选中的结果 2. 然后通过 `enum` 生成 checkbox list 3. 到此一切正常 4. 然后使用 `onChanged` 事件收集用户操作 5. 但是实际上复选框无法选中(没有效果) 6. `print` 的 List 里只有一条数据,即当前操作的数据 我觉得问题可能不太复杂,所以没有贴代码。请大家多多指教,谢谢。