Размер сетки angular-gridster2
В настоящее время я работаю над интеграцией angular-gridster2. Цель состоит в том, чтобы получить сетку с фиксированной высотой строки, фиксированным количеством столбцов и размером. Это мой текущий GridsterConfig:
{
setGridSize: true,
margin: 5,
displayGrid: DisplayGrid.OnDragAndResize,
gridType: GridType.VerticalFixed,
keepFixedHeightInMobile: true,
fixedRowHeight: 50,
minCols: 6,
maxCols: 6,
swap: true,
pushItems: true,
resizable: { enabled: true },
draggable: {enabled: true },
enableEmptyCellDrop: true,
}
С этим конфигом высота сетки рассчитывается как ожидалось (идеально). Проблема в том, что ширина остается неизменной после изменения размера окна. Когда я устанавливаю для свойства setGridSize значение false, вычисление ширины работает, как и ожидалось, но высота всегда в 2 раза больше поля.
1 ответ
Мое решение теперь состоит в том, что я создал родительский контейнер div, в котором я устанавливаю высоту в зависимости от строк сетки (вычисляя высоту со строками * (fixedRowHeight + margin).
Вы можете просто сделать это, используя встроенные параметры gridster, например:
vm.options =
{
minCols: 7,
maxCols: 7,
minRows: 4,
maxRows: 4,
maxItemCols: 50,
minItemCols: 1,
maxItemRows: 50,
minItemRows: 1,
maxItemArea: 2500,
minItemArea: 1,
defaultItemCols: 1,
defaultItemRows: 1,
setGridSize: true,
fixedColWidth: 250,
fixedRowHeight: 250,
};
Для справки:
Я использовал приведенную ниже конфигурацию, и у меня она сработала:
itemChangeCallback: ((item: GridsterItem) => {
// Your content here
}),
itemInitCallback: ((item: GridsterItem, itemComponent: GridsterItemComponentInterface) => {
// Your content here
}),
setGridSize: true,
gridType: 'verticalFixed',
fixedRowHeight: 237,
minRows: 2,
maxRows: 100,
minItemRows: 2,
maxItemRows: 2,
defaultItemRows: 1,
minCols: 12,
maxCols: 12,
maxItemCols: 12,
minItemCols: 1,
defaultItemCols: 1,
maxItemArea: 2500,
minItemArea: 1,
swap: true,
displayGrid: 'onDrag&Resize',
compactType: 'compactUp', // 'compactUp&Left',compactLeft&Up'
pushItems: true,
resizable: { enabled: true },
draggable: {
enabled: true
}
Надеюсь, это поможет