我正在使用Bootjack Datepicker,在将Dart升级到1.12.1之后,我突然看到只有半个日历没有天,并且有这个例外:
异常:在课堂上没有声明静态getter'trusted' 'NodeTreeSanitizer'。 NoSuchMethodError:找不到方法:'trusted' 接收者:输入:class'NodeTreeSanitizer'
这是连接日历所需的唯一代码行:
Calendar.use();
如果您需要手动连接日历,可以手动拨打:
Calendar.wire(querySelector("div.calendar"));
他们两个都在calendar.dart
似乎破坏的代码是:
void _dayView() {
TableElement calBody = element.querySelector('.cnt');
Element dow = calBody.tBodies[0].createFragment(_DOW_TEMPLATE).children[0];
List<Element> children = dow.children;
List<String> swkDays = _dfmt.dateSymbols.SHORTWEEKDAYS;
int ofs = (_firstDayOfWeek + 1) % 7;
//render week days
for (int i = swkDays.length; --i >= 0;) {
children[i].text = swkDays[(i + ofs) % 7];
}
var buffer = new StringBuffer();
for (int i = 6; --i >= 0;) {
buffer.write(_DAYROW_TEMPLATE);
}
calBody.tBodies[0]
..append(dow)
..appendHtml(buffer.toString(), treeSanitizer: NodeTreeSanitizer.trusted); <<<<<<<< ERROR
}
查看appendHtml,我可以看到treeSanitizer
是一个可选的参数,因此语法看起来很好。在抽象类NodeTreeSanitizer
中,我可以看到:static const trusted = const _TrustedHtmlTreeSanitizer();
,所以看起来也很好。
知道可能导致此错误的原因是什么?
我在此期间记录了一个错误:https://github.com/rikulo/bootjack-datepicker/issues/2
答案 0 :(得分:2)
看起来你的Dartium版本已经过时了
请比较Dartium中dart --version
页面上about://version
(命令行)和Dart版本的输出。