错误:在 Flutter 的 onChange 方法中,无法将参数类型 'String' 分配给参数类型 'num'

Error: The argument type 'String' can't be assigned to the parameter type 'num' in Flutter's onChange method

提问人:Ahmed Adel 提问时间:10/31/2023 最后编辑:JoyNaAhmed Adel 更新时间:10/31/2023 访问量:62

问:

当我尝试在我的 Cubit 的 onChange 方法中记录 Change 对象时,我在我的 Flutter 应用程序中遇到了一个错误。错误消息如下:

'''' Error: The argument type 'String' can't be assigned to the parameter type 'num'. ''''

此错误指向我使用 记录 Change 对象的行。我知道发生此错误是因为我尝试将字符串记录为 num,这在 Dart 中是不允许的。log(change.toString());

我想了解如何在不遇到此错误的情况下正确地将 Change 对象记录为“字符串”。

下面是相关的代码片段:

@override
void onChange(Change<PaymentState> change) {
  log(change.toString()); // Error occurs on this line
  super.onChange(change);`your text`
}

我将不胜感激有关如何解决此错误并将 Change 对象正确记录为 Flutter 中的“字符串”的任何见解或建议。

随意使用这个问题作为起点,并在必要时进行任何其他澄清或提供更多背景信息。Stack Overflow 是一个很好的平台,可以获取特定编程问题的详细答案。

Flutter dart 条纹支付 tostring

评论

0赞 Randal Schwartz 10/31/2023
TextField 很可能是一个字符串。你有一个 num 参数......您需要对字符串使用 double.tryParse 将其转换为数字。
0赞 SmellyCat 10/31/2023
就像 pskink 建议的那样,找到 .显然,它不将字符串作为第一个参数。它是否将日志级枚举器作为第一个参数,将字符串作为第二个参数?或者,是否应该找到一个数字的日志?loglog
0赞 Krish Bhanushali 10/31/2023
@RandalSchwartz,我认为他从 math.dart 而不是 developer.dart 导入了日志。请更正您的导入

答:

0赞 Satyan 10/31/2023 #1

您的 TextField 只接受 String 值,但您正在传递 num 参数,请将您的参数解析为所需的数据类型。(num 到字符串)

评论

1赞 SmellyCat 10/31/2023
看起来情况恰恰相反。他传递了一个字符串,第一个参数是一个数字。log