[嗨,我想在flutter的可扩展列表视图中显示数据...。例如,我需要下面的列表作为listView的标题...。days = ['Monday','Tuesday','Wednesday'] ...并根据days列表中的日期进行扩展...。以下数据将在同一天填充。
List<Cars> dummyData = [
Cars(
model: 'Fiat',
speed: '100',
day: 'Monday',
),
Cars(
model: 'Maruti',
speed: '120',
day: 'Monday',
),
Cars(
model: 'Hyundai',
speed: '130',
day: 'Tuesday',
),
Cars(
model: 'Toyota',
speed: '140',
day: 'Wednesday',
),
]
[如果您需要我的其他信息,请告诉我...谢谢
您可以使用expantionTile小部件来实现。
以下代码可能会对您有所帮助。
class DeleteWidget extends StatefulWidget {
const DeleteWidget({Key key}) : super(key: key);
@override
_DeleteWidgetState createState() => _DeleteWidgetState();
}
class _DeleteWidgetState extends State<DeleteWidget> {
List<String> _days = ['sunday', 'Monday', 'Tuesday'];
List<Cars> dummyData = [
Cars(
model: 'Fiat',
speed: '100',
day: 'Monday',
),
Cars(
model: 'Maruti',
speed: '120',
day: 'Monday',
),
Cars(
model: 'Hyundai',
speed: '130',
day: 'Tuesday',
),
Cars(
model: 'Toyota',
speed: '140',
day: 'Wednesday',
),
];
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: ListView.builder(
itemCount: _days.length,
itemBuilder: (_, index) {
return ExpansionTile(
title: Text(_days[index].toString()),
children: [
...dummyData.map((e) {
if (e.day == _days[index]) {
return Text(e.speed.toString());
}
return Container();
}).toList(),
]);
},
),
),
);
}
}
class Cars {
String model;
String speed;
String day;
Cars({this.model, this.day, this.speed});
}