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