1

我目前正在自学 Dart 语言,但我的第一个应用程序似乎无法正常工作。这是引起麻烦的代码:

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

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

任何帮助将不胜感激。

4

1 回答 1

1

text指定元素的属性#txtLoc返回一个空字符串。

parse方法要求:

必须是基数基数的source非空序列,可以选择以减号或加号(“-”或“+”)作为前缀。

您可以在对 的调用中指定一个onError命名参数parse,该参数接受一个处理无效输入的回调。例如,如果您希望parse调用返回42所有无效输入的值,您可以这样做:

usrLoc = int.parse(query("#txtLoc").text, onError: (val) => 42);

如果你真的希望元素有一些文本,你可以将结果存储query("#txtLoc").text到一个单独的变量中并验证值。检查真正的元素类型是什么或者哪个标签用 id 标记也会很有趣#txtLoc

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

query("#txtLoc").value
于 2013-05-28T06:10:59.533 回答