提问者:小点点

获取“dotsCount必须优于零,失败的断言:第31行pos 16:'dotsCount>=1'”的错误


运行代码后得到的错误

下面是代码示例”

'@overridWidget build(BuildContext context){返回列(子:[//滑块部分GetBuilder(builder:(流行产品){返回容器(高度:Dimentions. pageView,子:PageView.builder(控制器:pageController,itemCount:流行产品.流行产品列表.长度,itemBuilder:(上下文,位置){返回_buildPageItem(位置); }), ); }),

         //dots
        GetBuilder<PopularProductController>(builder: (popularProducts) {
     
          return DotsIndicator(
            dotsCount: popularProducts.popularProductList.length,
            position: _currPageValue,
             decorator: DotsDecorator(
              size: const Size.square(9.0),
             activeColor: AppColors.mainColor,
             activeSize: const Size(18.0, 9.0),
          activeShape: RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(5.0)),
        ),
      );
    }),`

控制器文件

`import 'package:food_app/data/repository/popular_product_repos.dart';
 import 'package:food_app/models/product_model.dart';
 import 'package:get/get.dart';

 class PopularProductController extends GetxController {
 final PopularProductRepository popularProductRepository;

 PopularProductController({required this.popularProductRepository});
 List<dynamic> _popularProductList = [];

 List<dynamic> get popularProductList => _popularProductList;

 Future<void> getPopularProductList() async {
 Response response = await popularProductRepository.getPopularProductList();
 if (response.statusCode == 200) {
  print("Got products");
  _popularProductList = [];
  _popularProductList.addAll(Product.fromJson(response.body).products);
  update();
  } else {}
}
}`

共1个答案

匿名用户

此值不得为零:

GetBuilder<PopularProductController>(builder: (popularProducts) {
          print(popularProducts.popularProductList.length);
          return DotsIndicator(
            dotsCount: popularProducts.popularProductList.isNotEmpty
                ? popularProducts.popularProductList.length
                : 2,
            position: _currPageValue,
            decorator: DotsDecorator(
              activeColor: AppColors.mainColor,
              size: const Size.square(9.0),
              activeSize: const Size(18.0, 9.0),
              activeShape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(5.0)),
            ),
          );
        }),