【发布时间】:2021-10-10 06:48:18
【问题描述】:
我使用 RefreshIndicator 并且它运行良好但无法使其对我的数据库起作用,我认为我的 setstate 是错误的,你能帮我使用 setstate 使其正常工作吗,这是我的产品页面..
class FeaturedProducts extends StatefulWidget {
@override
_FeaturedProductsState createState() => _FeaturedProductsState();-
}
class _FeaturedProductsState extends State<FeaturedProducts> {
final keyRefresh = GlobalKey<RefreshIndicatorState>();
List<ProductModel> products = [];
@override
void initState() {
super.initState();
loadProducts();
}
Future loadProducts() async {
keyRefresh.currentState?.show();
await Future.delayed(Duration(milliseconds: 4000));
setState(() => this.products = products);,
}
@override
Widget build(BuildContext context) {
final productProvider = Provider.of<ProductProvider>(context);
return RefreshIndicator(
keyRefresh: keyRefresh,
onRefresh: loadProducts,
child: ListView.builder(
scrollDirection: Axis.vertical,
itemCount: productProvider.products.length,
itemBuilder: (_, index) {
return FeaturedCard(
product: productProvider.products[index],
);
}));
}
}
【问题讨论】:
标签: flutter dart setstate pull-to-refresh