首页 > 解决方案 > Flutter - 命名参数未根据 pub.dartlang.org 定义,但该包有效

问题描述

我刚刚创建了我对 Flutter 的第一个贡献。我可以很好地使用我的包,但是由于 dart 分析发现了一些错误,我得到了非常低的分数。我正在使用 GestureDetector 类并为 和实现onLongPressDragStart回调。根据发布我的包后的分析,这些是错误的:onLongPressDragUpdateonLongPressDragUp

Fix lib/planner_class.dart. (-57.81 points)
Analysis of lib/planner_class.dart failed with 3 errors:
line 163 col 21: The named parameter 'onLongPressDragStart' isn't defined.
line 168 col 21: The named parameter 'onLongPressDragUpdate' isn't defined.
line 173 col 21: The named parameter 'onLongPressDragUp' isn't defined.

但这些是在 GestureDetector 类(https://docs.flutter.io/flutter/widgets/GestureDetector-class.html)中定义的。我的违规代码可以在 github 上找到(https://github.com/ourtrip/planner/blob/7c4c6bb8533ab9ecb66c61ba757a88ba2aaf8092/lib/planner_class.dart#L163)。奇怪的是,其他回调 (onScaleStartonScaleUpdate) 不会抛出错误。

可以在此处找到包含错误的 dart 包:https ://pub.dartlang.org/packages/planner#-analysis-tab- 。

那么可能是什么原因造成的呢?我该如何解决?

标签: flutterdart-pub

解决方案


我有同样的问题。

这里的问题是,您可能已经使用了 Flutter 的最新功能。您必须查看用于实现的小部件/参数。并在您的 pubspec.yaml 中设置最低 Flutter SDK 版本,让 pub.dev 知道您的包将支持哪个版本的 Flutter SDK(例如最新功能)。

例如编辑您的 pubspec 如下:

environment:
  sdk: ">=2.2.2 <3.0.0"
  flutter: ">=1.12.0 <2.0.0"

此致


推荐阅读