class AppProvider with ChangeNotifier {
static List<CategoryModel> categoryModelList = [];
late CategoryModel categoryModel;
Future<void> getCategoryProduct() async {
List<CategoryModel> list = [];
QuerySnapshot querySnapshot =
await FirebaseFirestore.instance.collection("homecategory").get();
querySnapshot.docs.forEach(
(categoryData) {
categoryModel = CategoryModel(
image: categoryData["image"],
name: categoryData["name"],
);
list.add(categoryModel);
},
);
categoryModelList = list;
notifyListeners();
}
List<CategoryModel> get getCategoryModelList {
return categoryModelList;
}
}
Widget _buildBottomPart() { return Container( width: double.infinity, height: 240, child: Column( mainAxisAlignment: MainAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( height: 240, child: ListView.builder( scrollDirection: Axis.horizontal, itemCount: AppProvider.getCategoryModelList.length, itemBuilder: (ctx, index) => _buildSingleCategory( name: AppProvider.getCategoryModelList[index].name, image: AppProvider.getCategoryModelList[index].image, ), ), ), ], ), ); }
CodePudding user response:
either create an instance from AppProvider like this:
AppProvider appProvider = AppProvider();
appProvider.getCategoryModelList.length
or define 'getCategoryModelList
' as static List