import 'package:flutter/material.dart'; import 'package:zhiying_base_widget/widgets/home/home_goods/home_goods_item_single.dart'; import 'package:zhiying_base_widget/widgets/home/home_goods/models/home_goods_model.dart'; import 'package:zhiying_base_widget/widgets/home/home_goods/models/home_goods_style_model.dart'; import 'package:zhiying_comm/util/net_util.dart'; class TestPage extends StatefulWidget { @override _TestPageState createState() => _TestPageState(); } class _TestPageState extends State<TestPage> { List<HomeGoodsModel> _goods; HomeGoodsStyleModel _styleModel; @override void initState() { NetUtil.request('/api/v1/rec/featured?page=3', method: NetMethod.GET, onSuccess: (data) { List goods = data['good']; _styleModel = HomeGoodsStyleModel( listColumn: '1', // recommendList, providerNameColor: '#ffffff', providerNameBackgroundColor: '#ff4242', shopNameColor: '#ffffff', shopIcon: '', couponFontColor: '#ffffff', couponBgColor: '#ff4242', commissionFontColor: '#ffffff', commissionBgColor: '#ff4242', marketPriceColor: '#ffffff', currentPriceColor: '#ff4242', ); _goods = goods.map((e) { return HomeGoodsModel.fromJson(Map<String, dynamic>.from(e)); }).toList(); setState(() {}); }); super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('测试'), ), body: CustomScrollView( slivers: <Widget>[ SliverFixedExtentList( itemExtent: 200.0, delegate: new SliverChildBuilderDelegate( (BuildContext context, int index) { //创建列表项 return HomeGoodsItemSingle( _goods[index % _goods.length], _styleModel); }, childCount: (_goods?.length ?? 0) * 2000, //50个列表项 ), ), // SliverToBoxAdapter( // child: ListView.builder( // shrinkWrap: true, // physics: NeverScrollableScrollPhysics(), // itemCount: (_goods?.length ?? 0) * 20, // itemBuilder: (context, index) { // return HomeGoodsItemSingle( // _goods[index % _goods.length], _styleModel); // }), // ) ], )); } }