Размер сетки 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,
};

Для справки:

https://github.com/tiberiuzuld/angular-gridster2/tree/1.x

Я использовал приведенную ниже конфигурацию, и у меня она сработала:

    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
      }

Надеюсь, это поможет

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