import 'package:flutter/material.dart'; import 'package:food_hub_app/provider/food_provider.dart'; import 'package:food_hub_app/widgets/common/index.dart'; import 'package:food_hub_app/widgets/recipe/card.dart'; import 'package:provider/provider.dart'; class RecipeList extends StatefulWidget { const RecipeList({super.key}); @override State createState() => _RecipeListState(); } class _RecipeListState extends State { @override void initState() { super.initState(); // 初始化加载数据 WidgetsBinding.instance.addPostFrameCallback((_) { context.read().refreshRecipeList(); }); } Widget _buildContent(FoodProvider provider) { if (provider.recipeSummaryList.isEmpty) { return buildEmptyData(); } else { return ListView.builder( itemCount: provider.recipeSummaryList.length, itemBuilder: (context, index) { return RecipeCard(recipe: provider.recipeSummaryList[index]); }, ); } } @override Widget build(BuildContext context) { final provider = context.watch(); return Stack( children: [ if (provider.isLoading) buildLoadingIndicator(context) else _buildContent(provider), ], ); } }