如何解决Flutter:ExpansionPanelList.radio 回调返回错误值?
我用注释(大写)标记的行没有按预期执行。
当我切换某个ExpansionPanelRadio()
(例如语言english
)时的控制台输出:
- 我打开
ExpansionPanelRadio()
: Flutter: english false ( - 我关闭了
ExpansionPanelRadio()
: Flutter: english true (
选择语言 english
时的控制台输出,然后我单击另一个语言(例如 mandarin
):
为什么他们都说false
,而显然一个打开而另一个关闭?两个面板在更改之前和之后都处于不同的状态。
有了这些信息^^,我怎么知道ExpansionPanelRadio()
刚刚被窃听了?
List<String> languages = Languages.languagetoImagePath.keys.toList();
return SingleChildScrollView(
child: ExpansionPanelList.radio(
initialOpenPanelValue: targetLanguage,//see value in ExpansionPanelRadio
expansionCallback: (int panelIndex,bool isExpanded) {
print('${languages[panelIndex]} $isExpanded'); //<-- HEEEEEEERRREEEEE
},children: languages.map<ExpansionPanel>((language) {
return ExpansionPanelRadio(
value: language,headerBuilder: (context,bool isExpanded) { //and what's this bool for?
return Text(language);
},body: Text('Choose writing system(s) todo...'),);
}).toList(),),);
我认为这些可能是框架中的错误/错误,但我想在报告之前在 stackoverflow 上询问。
也许我只是不明白这些 Widget 应该如何使用。
任何帮助表示赞赏。
我最初认为 ExpansionPanelList.radio 可能是我打算做的完美 Widget,但看起来我只需要制作自己的自定义 Widget
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。