如何解决carousel_slider和Flutter材质库之间的'CarouselController'命名冲突?

问题描述 投票:0回答:1

我正在开发一个使用 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...
}

flutter flutter-dependencies
1个回答
0
投票

carosuel_slider 的控制器是

CarouselSliderController
。你不必使用前缀

import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart';
....

  final CarouselSliderController _controller = CarouselSliderController();

© www.soinside.com 2019 - 2024. All rights reserved.