Как обернуть контейнер абсолютной позиции как любой другой относительный позиционный div?

Я использую ag-grid для отображения данных с разбивкой на страницы в макете vuetify.

По некоторым причинам кажется, что когда один из родителей компонента ag-grid является flex а также paginationAutoPageSize установлен на true затем сетка продолжает многократно добавлять новые строки (явно ошибка).

https://github.com/ag-grid/ag-grid/issues/628

Добавление этого класса ниже в компонент ag-grid:

.ag-grid-16 {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

дает тогда:

Что лучше, но, к сожалению, не очень хорошо работает с остальной частью макета Vuetify в моем приложении (заголовок Cashout и горизонтальная линия покрываются компонентом).

Сама сетка:

CashoutRecords.vue:

<template>
    <ag-grid-vue
        class="ag-theme-material gray-border ag-grid-16"
        :columnDefs="columnDefs"
        :defaultColDef="defaultColDef"
        :frameworkComponents="frameworkComponents"
        :rowData="cashoutRecords"
        :gridOptions="gridOptions"
        :paginationAutoPageSize="true"
        :pagination="true"
        :enableRangeSelection="true"
        @grid-ready="onGridReady"
    ></ag-grid-vue>
</template>

<style scoped>
  .ag-row .ag-cell {
    display: flex;
    align-items: center;
  }

  .ag-grid-16 {
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
  }

  .white-bg {
    background-color: #ffffff;
  }

  .light-bg {
    background-color: #fdfefe;
  }

  .gray-border {
    border-color: lightgray;
    border-width: 1px;
    border-style: solid;
  }
</style>

<script lang="ts" src="./CashoutRecords.ts">
</script>

и его контейнер:

Cashout.vue:

<template>
  <v-container>

    <v-row>
      <v-col>
        <h1 class="display-1">Cashouts</h1>
      </v-col>
      <v-col cols="auto">
        <v-btn color="info" @click="openEditModal = true">
          New <v-icon small right>create</v-icon>
        </v-btn>
      </v-col>
    </v-row>

    <hr class="divider__full" />

    <CashoutRecords />

    <CashoutEditModal :open.sync="openEditModal" />

  </v-container>
</template>

<script lang="ts" src="./Cashout.ts">
</script>

Как мне обернуть мою ag-сетку этим ag-grid-16 CSS-класс (во избежание постоянно растущих строк) таким образом, чтобы я все еще мог видеть <h1> заглавие Cashouts и горизонтальная линия над ним.

0 ответов

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