我正在开发一个使用 carousel_slider 包的 Flutter 项目。更新我的依赖项后,我遇到了以下错误:
'CarouselController' 不是一个函数。 尝试更正名称以匹配现有函数,或定义名为“CarouselController”的方法或函数。 名称“CarouselController”在库“package:carousel_slider/carousel_controller.dart”和“package:flutter/src/material/carousel.dart (via package:flutter/material.dart)”中定义。 尝试对其中一个导入指令使用“作为前缀”,或者对除其中一个导入之外的所有导入指令隐藏名称。
carousel_slider 包中的 CarouselController 和 Flutter 材质库中的另一个 CarouselController 之间似乎存在命名冲突。
您可以通过为其中一个导入指定别名来解决此问题。这样,当您在代码中使用 CarouselController 时,您可以指定所引用的 CarouselController。
import 'package:carousel_slider/carousel_controller.dart' as slider;
import 'package:carousel_slider/carousel_options.dart';
import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart';
class DestinationCarousel extends StatefulWidget {
@override
_DestinationCarouselState createState() => _DestinationCarouselState();
}
class _DestinationCarouselState extends State<DestinationCarousel> {
final slider.CarouselController _controller = slider.CarouselController();
// Rest of the code...
}
carosuel_slider 的控制器是
CarouselSliderController
。你不必使用前缀
import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart';
....
final CarouselSliderController _controller = CarouselSliderController();