我正在研究flutterexpandingTile,并在其中添加了不同的字段。如果我展开expandingTile并点击submit,则将提交表单字段,这些字段位于expandingTile内。但是,如果我折叠它,然后单击“提交”,则仅显示那些未折叠的字段值。
供参考的是一段代码。
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,则它不会显示任何内容。下面是我扩展图块时的输出。
flutter: {uid_201994077147: Yes, uid_201985062316: [• Sodium Chloride – (Road Salt, Table Salt) , • Calcium Chloride , • Ammonium Nitrate , Ammonium Sulfate , Sand]}
谢谢大家。
[不确定您是否仍然需要此功能,但我遇到了同样的问题,并且ExpensionTile的默认行为似乎是在折叠时删除其所有子级。有一个PR in flutter repo等待合并。在此之前,我们需要找到一种解决方法。每当值更改或折叠更改时,状态可能会保持不变;折叠再次更改时,状态可能会重新初始化。