- 项目实战代码片断记录,写完就忘了
- ExpansionPanelList
- ExpansionPanel
ExpansionPanelList(
//expansionCallback方法点击回调事件bool值(折叠或展开)
expansionCallback: (index, bOpen) {
//bool值取反
controller.sectionFloorSum.data![index].bOpen = !bOpen;
//因为使用Get需要监听obs变量刷新页面
controller.iLoaded.value++;
},
children: [
...controller.sectionFloorSum.data!.map((item) {
return ExpansionPanel(
//默认是否展开
isExpanded: item.bOpen ?? false,
headerBuilder: (BuildContext context, bool bOpen) {
//折叠后显示条目
return ListTile(
title: TextTN(
text: item.description,
),
);
},
//展开后显示条目
body: ListView.builder(
shrinkWrap: true,
itemCount: item.floorList!.length,
itemBuilder: (context, indexed) {
//单个条目点击事件
return InkWell(
onTap: () {
controller.curIndex.value = indexed;
controller.doDynamicFilter(
"Floor", item.floorList![indexed].code);
},
child: Row(
children: [
addHorizontalSpace(24),
TextTNL(
text: item.floorList![indexed].description,
w: 90,
align: Alignment.center,
),
TextTN(
text: item.floorList![indexed].sum.toString(),
w: 40,
),
addHorizontalSpace(24),
],
),
);
}),
);
}).toList()
],
),