在Dart中使用int.parse()的问题

时间:2013-05-28 04:06:35

标签: dart

我目前正在教自己Dart语言,我的第一个应用程序似乎没有正常工作。这是造成麻烦的代码:

usrLoc = int.parse(query("#txtLoc").text);

当我尝试运行应用程序时,它打开正常,但是当我单击触发此按钮的按钮(以及其他三个类似的解析)时,调试器会停止并告诉我int._native_parse()的“找不到来源”, int._parse()int.parse()

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

指定元素text的{​​{1}}属性返回空字符串。

parse方法要求:

  

#txtLoc必须是非空基数字序列,可选地带有减号或加号(' - '或'+')前缀。

您可以在source的通话中specify an onError named argument,它会接受处理无效输入的回调。例如,如果您希望parse调用为所有无效输入返回值parse,则可以执行以下操作:

42

如果您确实希望元素包含一些文本,则可以将usrLoc = int.parse(query("#txtLoc").text, onError: (val) => 42); 的结果存储到单独的变量中并验证该值。检查真实元素类型是什么或标记为id query("#txtLoc").text的标记也很有趣。

如果要获取输入元素的内容,则应使用#txtLoc属性而不是value

text