Flutter折叠后的ExpansionTile是否不保存表单数据?

问题描述 投票:1回答:1

我正在研究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]}

谢谢大家。

flutter dart flutter-layout collapse conceptual
1个回答
0
投票

[不确定您是否仍然需要此功能,但我遇到了同样的问题,并且ExpensionTile的默认行为似乎是在折叠时删除其所有子级。有一个PR in flutter repo等待合并。在此之前,我们需要找到一种解决方法。每当值更改或折叠更改时,状态可能会保持不变;折叠再次更改时,状态可能会重新初始化。

© www.soinside.com 2019 - 2024. All rights reserved.