我的问题:根据书中建立一个Dart表格。下面,我的基本样本看起来像JS。它工作正常,但我收到此警告:The getter value is not defined for the class Element
。
我的问题:如何编写更好的Dart代码以避免出现此警告消息?感谢。
HTML:
<form>
<input type="number" min="0" id="enter-x">
<input type="number" min="0" id="enter-y">
<input type="button" id="result" value="Submit">
<input type="reset" id="raz" value="Reset">
<input type="text" id="s" readonly>
</form>
DART:
import 'dart:html';
import 'dart:core';
main() {
document.querySelector('#result').onClick.listen((e) {
calculateS();
});
}
calculateS() {
var x = int.parse(document.querySelector('#enter-x').value);
var y = int.parse(document.querySelector('#enter-y').value);
var surface = (x * y).toString();
document.querySelector('#s').value = surface;
}
答案 0 :(得分:2)
Dart帮助提示和警告以查找程序中的错误。
通用Element
没有value
字段。 Dart程序仍然有效,应该按预期工作,并且不会在运行时导致任何错误或警告,因为实际返回的元素是更专业的TextInputElement
或NumberInputElement
,其value
字段。
要使分析仪静音,请通过添加“强制转换”
来使其更清晰calculateS() {
var x = int.parse((document.querySelector('#enter-x') as NumberInputElement).value);
var y = int.parse((document.querySelector('#enter-y') as NumberInputElement).value);
var surface = (x * y).toString();
(document.querySelector('#s') as TextInputElement).value = surface;
}
尝试
另见: