我尝试使用自定义输入元素与db一起工作。 所有这些都在Chrome中完美运行,但在IE中无效。
我创建测试应用
abstract class DBEdit {
DBSetValue(String val) {}
}
class DBEditText extends InputElement implements DBEdit {
String _FieldName = "";
DBEditText.created() : super.created() {
this.onClick.listen(doOnClick);
}
doOnClick(Event e){
window.alert("Click");
}
@override
DBSetValue(String val) {
this.value = val;
}
}
void main() {
try {
document.registerElement('db-edit', DBEditText, extendsTag: "input");
} catch (e) {
window.alert("Error registration: " + e.toString());
}
DivElement div = querySelector("#play");
div.appendHtml("<input id='ename' type='date' is='db-edit' size=50>", treeSanitizer: NodeTreeSanitizer.trusted);
DBEditText eText = querySelector("#ename");
eText.DBSetValue("2017-03-17");
}
在HTML文件中:
<html>
<head>
....
<script src="packages/web_components/webcomponents.min.js"></script>
<script src="packages/web_components/dart_support.js"></script>
.....
</head>
<body>
<div id="play"></div>
</body>
</html>
结果所有在Chrome中工作,但DBSetValue在IE中不起作用,但doOnClick在IE中工作。 IE 11。 任何的想法? 如果元素不在dart代码中创建,那么所有工作也都在IE中。