bwu_datagrid в paper-action-dialog запутывает столбцы 2-й раз открывается диалог

Я использую bwu_datagrid в моем веб-приложении Dart/Polymer. В диалоге paper-action я использую сетку "группировки", чтобы показать древовидную таблицу. При первом открытии диалога сетка выглядит нормально. Во второй раз, когда открывается диалоговое окно, это нормально в Chrome, но когда я использую Firefox или Safari, столбцы в несгруппированных строках сжимаются влево (перекрывая друг друга), а заголовки столбцов исчезают.

Это также происходило в Chrome, пока я не добавил следующий код в обработчик событий диалогового окна core-overlay-open-complete:

grid.setColumns = columns;
grid.invalidate();
grid.render();

Похоже, что кто-то сообщил о подобной проблеме еще в ноябре. Была ли эта проблема решена и / или исправлена?

1 ответ

Я нашел обходной путь, который, по крайней мере, работает для меня и для примера "проблема 97 присоединения", который был опубликован в другом месте. Я не знаю, почему это работает, но я добавил новый метод в bwu_datagrid.dart, который называется reshowGrid(). Этот новый метод является урезанной версией "setColumns". Я думаю, что реальный ключ может быть закомментированным "добавлением стиля".

void reshowGrid() { 
    if (_initialized) { 
        invalidateAllRows(); 
        _createColumnHeaders(); 
        _removeCssRules(); 
        _createCssRules(); 
        resizeCanvas(); 
        _applyColumnWidths(); 
        //this.shadowRoot.append(_style); 
        _handleScroll(); 
    } 
} 

Я звоню grid.reshowGrid() вместо grid.setColumns,

Другие вопросы по тегам