删除不允许的类型扩展<input is =“db-edit”/>

时间:2016-01-31 10:12:54

标签: dart webstorm

我之前使用过的DARTEDITORDART SDK (1.10)的旧版本。 我已更新SDK,并开始使用WebStorm。 我收到一个错误: 删除不允许的类型扩展名<INPUT is = "db-edit">

class DBEditText extends InputElement  {   String _FieldName = "";

  DBEditText.created() : super.created() {
    //type = "text";
    this.classes.add("editElement");   }

  String DBGetValue() {
    return this.value;   }

  void DBSetValue(String val) {
    this.value = val;   } ....

document.registerElement('db-edit', DBEditText, extendsTag: 'input');

....

HTML

input type='text' id='enum' is='db-edit' size=15

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我无法重现错误

import 'dart:html';

void main() {
  document.registerElement('db-edit', DBEditText, extendsTag: 'input');
  document.querySelector('button').onClick.listen((e) {
    var inp = document.querySelector('input');
    print(inp.runtimeType);
  });
}

class DBEditText extends InputElement {
  String _FieldName = "";

  DBEditText.created() : super.created() {
    //type = "text";
    this.classes.add("editElement");
  }

  String DBGetValue() {
    return this.value;
  }

  void DBSetValue(String val) {
    this.value = val;
  }
}
<!DOCTYPE html>

<html>
  <body>
    <div>input:
      <input type='text' id='enum' is='db-edit' size=15>
    </div>
    <button>click</button>

    <script type="application/dart" src="index.dart"></script>
    <script src="packages/browser/dart.js"></script>
  </body>
</html>

点击按钮打印

  

DBEditText

<强>更新

对于要动态添加的元素,您可能需要NodeValidator

  NodeValidator validator = new NodeValidatorBuilder()
    ..allowCustomElement('INPUT', attributes: ['is']);
  document.querySelector('body')
      .appendHtml("<input type='text' id='enum' is='db-edit' size=15>", validator: validator);