|
@@ -9,42 +9,42 @@ import '../../../../models/entities/banner.dart';
|
9
|
9
|
import '../../../../services/homeAPI.dart';
|
10
|
10
|
import '../../../../widgets/CarsCard.dart';
|
11
|
11
|
import 'package:farmer_client/models/app.dart';
|
|
12
|
+import '../../../../widgets/layout/BasicPage.dart';
|
12
|
13
|
import '../../../MoreCars/index.dart';
|
13
|
14
|
|
14
|
|
-class HomePage extends StatefulWidget {
|
15
|
|
- const HomePage({Key? key}) : super(key: key);
|
16
|
15
|
|
17
|
|
- @override
|
18
|
|
- State<HomePage> createState() => _HomePageState();
|
19
|
|
-}
|
20
|
16
|
|
21
|
|
-class _HomePageState extends State<HomePage> {
|
22
|
|
- final CarouselController _controller = CarouselController();
|
23
|
|
- List<banner> BannerList = [];
|
|
17
|
+class HomePage extends BasicPage {
|
|
18
|
+
|
|
19
|
+ final bannerList = Rx<List<banner>>([]);
|
24
|
20
|
|
25
|
21
|
@override
|
26
|
|
- void initState() {
|
27
|
|
- super.initState();
|
|
22
|
+ void beforeShow() {
|
28
|
23
|
final location = AppController.t.locationStr;
|
29
|
24
|
|
30
|
25
|
getHomeBanner('banner').then((value) {
|
31
|
|
- setState(() {
|
32
|
|
- value.forEach((item) {
|
33
|
|
- BannerList.add(banner.fromJson(item));
|
34
|
|
- });
|
|
26
|
+ value.forEach((item) {
|
|
27
|
+ bannerList.value.add(banner.fromJson(item));
|
35
|
28
|
});
|
36
|
29
|
});
|
37
|
30
|
}
|
38
|
31
|
|
|
32
|
+ List<Widget>? _renderList() {
|
|
33
|
+ return bannerList.value.map((item) => Container(
|
|
34
|
+ child: Center(
|
|
35
|
+ child: Image.network(item.thumb.toString(),
|
|
36
|
+ fit: BoxFit.cover, width: 350.w)),
|
|
37
|
+ )).toList();
|
|
38
|
+ }
|
|
39
|
+
|
39
|
40
|
@override
|
40
|
|
- Widget build(BuildContext context) {
|
|
41
|
+ Widget builder (BuildContext context) {
|
41
|
42
|
return Container(
|
42
|
43
|
alignment: Alignment.center,
|
43
|
44
|
padding: EdgeInsets.fromLTRB(15.w, 0, 15.w, 0),
|
44
|
|
- child: ListView(
|
|
45
|
+ child: Column(
|
45
|
46
|
children: [
|
46
|
47
|
Container(
|
47
|
|
- width: 20.w,
|
48
|
48
|
child: TypeHeader(
|
49
|
49
|
type: true,
|
50
|
50
|
),
|
|
@@ -52,13 +52,8 @@ class _HomePageState extends State<HomePage> {
|
52
|
52
|
Container(
|
53
|
53
|
margin: EdgeInsets.fromLTRB(0, 15, 0, 0),
|
54
|
54
|
child:
|
55
|
|
- // Text('asdasdas')
|
56
|
|
- CarouselSlider(
|
57
|
|
- items: BannerList.map((item) => Container(
|
58
|
|
- child: Center(
|
59
|
|
- child: Image.network(item.thumb.toString(),
|
60
|
|
- fit: BoxFit.cover, width: 350.w)),
|
61
|
|
- )).toList(),
|
|
55
|
+ Obx(() => CarouselSlider(
|
|
56
|
+ items: _renderList(),
|
62
|
57
|
options: CarouselOptions(
|
63
|
58
|
autoPlay: true,
|
64
|
59
|
enlargeCenterPage: false, //图片中心放大
|
|
@@ -67,7 +62,7 @@ class _HomePageState extends State<HomePage> {
|
67
|
62
|
height: 214.w,
|
68
|
63
|
initialPage: 1, //初始页
|
69
|
64
|
),
|
70
|
|
- ),
|
|
65
|
+ )),
|
71
|
66
|
),
|
72
|
67
|
Container(
|
73
|
68
|
margin: EdgeInsets.fromLTRB(0, 20, 0, 20),
|