2024-09-04 19:04:29 +08:00

70 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:model_of_the_times/views/common/data_required.dart';
import '../../requester/requester.dart';
class ModelList extends StatefulWidget {
const ModelList({super.key});
@override
State<ModelList> createState() => _ModelListState();
}
class _ModelListState extends State<ModelList> {
@override
Widget build(BuildContext context) {
return Column(
children: [
const Flex(
direction: Axis.horizontal,
children: [
SizedBox(
height: 30,
child: VerticalDivider(
thickness: 6,
color: Colors.red,
),
),
Text(
"楷模列表",
style: TextStyle(
fontSize: 30,
fontWeight: FontWeight.bold
),
)
],
),
DataRequired(
fetchData: (global) async {
var listResponse = await global.requester.get(resolve("/appModel/app-o/list"));
var data =jsonFromResponse(listResponse);
return data;
},
afterLoading: (data) {
return Column(
children: data['rows'].map<Widget>((e){
return Card(
child: Padding(
padding: const EdgeInsetsDirectional.all(10),
child: ListTile(
title: Text(e['title']),
subtitle: Flex(
direction: Axis.vertical,
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("楷模姓名:${e['modelName']}"),
Text(e['content'], maxLines: 2, overflow: TextOverflow.ellipsis)
],
),
leading: Image.network(resolve(e['picPath']).toString(), width: 100, height: 100, fit: BoxFit.fill,)),
),
);
}).toList()
);
})
],
);
}
}