我正在研究flutter的expandingTile,并在其中添加了不同的字段。如果我展开expandmentTile并单击submit,则将提交表单字段,这些字段位于expandmentTile内。但是,如果我折叠它,然后单击“提交”,则仅显示未折叠的那些字段值。
供引用的是一段代码。
ExpansionTile(
backgroundColor: Theme.of(context)
.accentColor
.withOpacity(0.050),
title: Text(item.formName),
children: <Widget>[
FormBuilderCheckboxList(
decoration:
InputDecoration(labelText: item.formName),
attribute: item.uniqueId,
initialValue: [],
// initialValue: item?.answerMultiple.map( (ans) =>ans )??[],
options: item.formFieldOptions
.map((opt) => FormBuilderFieldOption(
value: opt.optName))
.toList(),
),
],
),
因此,如果我提交此复选框的字段已展开,那么它将显示我的DEBUG CONSOLE上的值;如果我关闭ExpansionTile,则它不会显示任何内容。下面是我扩展Tile的输出。
flutter: {uid_201994077147: Yes, uid_201985062316: [• Sodium Chloride – (Road Salt, Table Salt) , • Calcium Chloride , • Ammonium Nitrate , Ammonium Sulfate , Sand]}
谢谢大家。
最佳答案
不知道您是否仍然需要它,但是我遇到了同样的问题,ExpensionTile的默认行为似乎是在折叠时删除其所有子级。有一个PR in flutter repo等待合并。在此之前,我们需要找到一种解决方法。每当值更改或崩溃更改时,状态可能会保持不变;崩溃再次更改时,状态可能会重新初始化。
关于flutter - Flutter已折叠ExpansionTile是否不保存表单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57303329/