我之前使用过的DARTEDITOR
和DART 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
可能是什么问题?
答案 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);