Неправильный расчет ширины ячейки сетки ExtJS 5 с использованием Flex

После обновления до ExtJS 5 с 4.2.1 я обнаружил проблему с расчетом ширины ячейки сетки или то, что кажется проблемой.

Вот пример столбцов

columns: [
    { header: 'One', dataIndex: 'one', flex: 2 },
    { header: 'Two', dataIndex: 'two', flex: 2 },
    { header: 'Three', dataIndex: 'three', flex: 3 }
]

Заголовки заполняют ширину сетки, как и ожидалось, но ширина ячеек сетки не равна заголовкам в количестве -5px / -5px / -12 px соответственно.

Внешний вид выглядит так, как будто есть место для полосы прокрутки, но сетка имеет только одну строку. Сетки, в которых достаточно данных, чтобы иметь полосу прокрутки, похоже, не имеют этой проблемы.

Изменение размера столбца сетки возвращает все в правильное выравнивание до тех пор, пока новые данные не будут загружены и отрисованы снова с выключенными расчетами ширины. Он изменяет размер вскоре после загрузки новых данных.

Я думал, что, возможно, виноват css, но изменение темы не помогло, равно как и использование ext-all.css вместо отладочного css.

Это баг или я пропустил новый конфиг, который исправит расчеты ширины?

Если это ошибка ... какие-либо предложения по обходному пути?

Помощь очень ценится.

ОБНОВЛЕНИЕ 1:

Я использовал Sencha Cmd для создания базового приложения и создал представление сетки со столбцами и функциями. Пока что похоже, что виновата функция группировки. Однако я вижу поведение на сетках без функции группировки. Эти сетки находятся в рамочном макете, поэтому я исследую это дальше.


person user3466395    schedule 24.07.2014    source источник
comment
Это похоже на ошибку, но почти невозможно определить ее без надлежащего тестового примера.   -  person rixo    schedule 25.07.2014


Ответы (2)


Это похоже на ошибку, однако я обнаружил, что упаковка grid с container с макетом auto решает эту проблему (по крайней мере, в моем случае).

Пример: http://jsfiddle.net/nj4nk/3/

В примере вы можете увидеть 2 сетки:

  • первая внутренняя панель с макетом fit - ряды уже
  • вторая внутренняя панель с макетом auto - строки такие же, как в заголовке
person Krzysztof    schedule 28.07.2014
comment
Да! Большое спасибо за исправление. Использование макета: «авто» устранило проблему. Как мне создать свой собственный jsfiddle, чтобы поделиться им? - person user3466395; 29.07.2014
comment
Столько времени потратил на то, чтобы это исправить. Все, что мне нужно было сделать, это добавить layout: 'auto'. Спасибо за скрипку! - person Suraj Bajaj; 21.11.2015

Использование layout: 'auto' оставляет прокрутку сломанной. Похоже, что место зарезервировано для полосы прокрутки, но настройка backupScrollbar:false не помогает.

person Jeremy    schedule 11.08.2014