如何创建Dart表单

时间:2015-09-08 10:42:00

标签: dart

我的问题:根据书中建立一个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;
}

1 个答案:

答案 0 :(得分:2)

Dart帮助提示和警告以查找程序中的错误。 通用Element没有value字段。 Dart程序仍然有效,应该按预期工作,并且不会在运行时导致任何错误或警告,因为实际返回的元素是更专业的TextInputElementNumberInputElement,其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;
}

DartPad

尝试

另见: