我目前正在教自己Dart语言,我的第一个应用程序似乎没有正常工作。这是造成麻烦的代码:
usrLoc = int.parse(query("#txtLoc").text);
当我尝试运行应用程序时,它打开正常,但是当我单击触发此按钮的按钮(以及其他三个类似的解析)时,调试器会停止并告诉我int._native_parse()
的“找不到来源”, int._parse()
和int.parse()
。
非常感谢任何帮助。
答案 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