【发布时间】:2020-08-25 03:42:57
【问题描述】:
我的应用是电子商务商店,仪表板有多个列表:
LatestProducts、DiscountProducts、MostViewedProduct、...我创建了多个提供者:
LatestProductProvider、DiscountProductProvider、MostViewedProductProvider(实际上具有过滤参数的相同提供程序会获得不同的排序产品)-
我不想为每个产品列表创建多个小部件。我的主要小部件重用了这个单一的小部件类:
class _ProductsWidget extends StatelessWidget { const _ProductsWidget({ Key key, @required this.filter,}) : super(key: key); final String filter; @override Widget build(BuildContext context) { dynamic productProvider = null; if (filter == '0') productProvider = Provider.of<LatestProductProvider>(context); if (filter == '1') productProvider = Provider.of<DiscountProductProvider>(context); if (filter == '2') productProvider = Provider.of<MostViewedProductProvider>(context); return SliverToBoxAdapter( child: ... ... //use matched productProvider
如何对上述场景进行编码? 当我测试我的代码时,我的列表会加载并行数据。这张图片是我的结果:
【问题讨论】:
标签: flutter dart widget provider