我正在尝试使用 FlutterSlider (another_xlider)。IDE 中的以下代码将 lowerValue 和 upperValue 标记为Missing parameter type。系统提示我尝试添加显式类型,或从分析选项文件中删除隐式动态。后者我讨厌做。我已经尝试过前者,但显然我弄错了。
这是我当前的代码。
values: const [1000, 4000],
rangeSlider: true,
max: 10000,
min: 500,
onDragging: (handlerIndex, lowerValue, upperValue) {
_lowerValue = lowerValue is int ? lowerValue : 0;
_upperValue = upperValue is int ? upperValue : 0;
setState(() {});
},
)
如果我尝试如下设置显式类型,我会得到参数类型'Null Function(int, int, int)' can't be assigned to the parameter type 'dynamic Function(int*, dynamic, dynamic)
_lowerValue = lowerValue;
_upperValue = upperValue;
setState(() {});
},
)
函数签名是dynamic Function(int*, dynamic, dynamic)*
. 我需要研究这些星号的含义——仅将它们与 yield 语句一起使用——所以我认为这是问题的一部分。
FWIW - 这与https://pub.dev/packages/another_xlider/example上的 another_xlider 文档中的示例几乎相同(示例如下)。
values: [30, 420],
rangeSlider: true,
max: 500,
min: 0,
onDragging: (handlerIndex, lowerValue, upperValue) {
_lowerValue = lowerValue;
_upperValue = upperValue;
setState(() {});
},
)
到目前为止,谷歌搜索没有帮助。我错过了什么?
更新 我使用非常好的 Cli 创建了我的项目(请参阅https://verygood.ventures/blog/flutter-starter-app-very-good-core-cli)。在尝试调试时,我拉下了 another_xlider 项目并且问题没有出现。我使用 Very Good Cli 创建了一个全新的项目,复制了 MyApp 类,问题又出现了。因此,我将“非常好”项目中的所有依赖项复制到我的非 VGC 项目中并进行了更新。没问题。似乎 VGC 项目的创建方式存在一些基本问题,导致了问题。但是,由于时间至关重要,同时发现内置的 Flutter RangeSlider 满足了我的需求,我不再关心这个。也就是说,我想知道非常好的 Cli 是什么导致了这个问题。下次可能没有简单的替代方案。