Загрузите сохраненные выбранные данные в таблицу ag-grid

#javascript #vue.js #ag-grid #ag-grid-vue

Вопрос:

У меня есть некоторые проблемы с ag-grid таблицей, я использую Vue.js фреймворк.

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

Итак, вот мой шаблон:

 <b-button v-ripple.400="'rgba(0, 207, 232, 0.15)'" 
  variant="outline-info" 
  pill 
  @click="synchronization"
>
  Synchronize
  <b-spinner v-if="syncing" small class="mr-1" label="Small Spinner" />
</b-button>

<div class="order-table">

  Selected: {{ this.selectedDataStringPresentation }}

  <ag-grid-vue style="width: 100%; height: 500px;" 
    class="ag-theme-alpine" 
    :gridOptions="gridOptions" 
    :columnDefs="columnDefs" 
    :rowData="ordersList" 
    rowSelection="multiple" 
    rowMultiSelectWithClick="true" 
    @selection-changed="getSelectedRows" 
    :animateRows="true"
    :floatingFilter="true"
  >
  </ag-grid-vue>
</div>
 

Как вы видите, у меня есть кнопка и реализована ag-сетка.
Вот как getSelectedRows выглядит эта функция:

 getSelectedRows() {
  this.selectedNodes = this.gridApi.getSelectedRows();
  this.selectedData = this.selectedNodes.map(node => node);
  this.selectedDataStringPresentation = this.selectedData.map(node => node.id).join(', ');
}
 

И это columnDefs пример и некоторые gridOptions (я не знаю, что это такое):

 this.gridOptions = {};
this.columnDefs = [{
  rowMultiSelectWithClick: true,
  headerName: 'ID',
  field: 'id',
  filter: true,
  maxWidth: 50,
  resizable: true,
  pinned: true,
  cellRenderer: (params) => {
    const route = {
      name: "orders-view",
      params: {
        id: params.value
      }
    };

    const link = document.createElement("a");
    link.href = this.$router.resolve(route).href;
    link.innerText = params.value;
    link.addEventListener("click", e => {
      e.preventDefault();
      this.$router.push(route);
    });
    return link;
  }
}]
 

Как я могу загрузить сохраненные выбранные данные?