【发布时间】:2021-03-08 04:15:18
【问题描述】:
我正在构建一个垫子扩展面板列表:
Widget _buildAccordion() {
return ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
setState(() {
panels[index].isExpanded = !isExpanded;
});
},
children: panels.map<ExpansionPanel>((CalendarDayPanel panel) {
return ExpansionPanel(
canTapOnHeader: true,
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
title: Text(panel.calendarDay.dateString),
subtitle: Text('${panel.calendarDay.appointmentsNumber} rdv.'),
);
},
body: ListView(children: [
ListTile(title: Text("1st tile")),
ListTile(title: Text("2nd tile"))
]),
isExpanded: panel.isExpanded);
}).toList(),
);
}
我希望每个 ExpansionPanel 的主体都显示一个磁贴列表。但是,当我尝试展开面板时出现渲染错误。如果不是正文中的 ListView,我使用一个简单的 Text 小部件,它可以正常工作。
如何在展开面板的正文中显示列表?
记录的完整错误消息是:
RenderBox 未布局:RenderRepaintBoundary#e926c relayoutBoundary=up24 需要-PAINT
更新
将正文更改为:
body: ListView(
shrinkWrap: true,
children: [
ListTile(title: Text("1st tile")),
ListTile(title: Text("2nd tile"))
],
),
这里还在尝试掌握底层逻辑。
【问题讨论】:
标签: flutter