在Extjs 7.0中使用日历组件时,我们注意到,如果将语言设置为荷兰语,那么标题单元格与其列不能正确对齐。
当检查源代码时,我发现在单元格html中添加这些值的地方;在Ext.calendar.header.Base中,在setHeaderText函数中存在以下代码。
var me = this,
D = Ext.Date,
value = me.getValue(),
format = me.getFormat(),
domFormat = me.domFormat,
cells = me.cells,
len = cells.length,
useDates = me.useDates,
cell, i;
if (!value) {
return;
}
value = D.clone(value);
for (i = 0; i < len; ++i) {
cell = cells[i];
if (useDates) {
cell.setAttribute('data-date', D.format(value, domFormat));
}
cell.setAttribute('data-day', value.getDay());
cell.innerHTML = D.format(value, format);
value = D.add(value, D.DAY, 1);
}
InnerHtml是通过格式化Date(D)对象来设置的,结果是该日的3个字符。如果把这个改成只设置一个4个字符的值,比如cell.innerHTML='Test',标题就会排得很好。
但是由于某些原因,当使用D.format值的时候,这就不行了。如果有人知道是什么原因,我很乐意听到。
我似乎无法测试这在其他语言中是否也会出错,因为出于某种原因,我的包无法再被加载进来。