我以前使用过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
可能是什么问题呢?
最佳答案
我无法重现错误
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);
关于dart - 删除不允许的类型扩展名<INPUT is =“db-edit”>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35112662/