Обновить cellEditorParams после создания таблицы - PullRequest
0 голосов
/ 26 мая 2020

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

        {
          headerName: "Status",
          field: "featureStatus",
          width: 110,
          editable: true,
          cellEditor: "agSelectCellEditor ",
          cellEditorParams: {
            values: []
          }
        },

this.allFeatureStatusNames - это вычисляемая переменная, которая возвращает массив строк:

 allFeatureStatusNames: function() {
      return this.allFeatureStatuses.map(status => status.name)
    }

У меня есть наблюдатель на allFeatureStatuses, который мне нужен для обновления cellEditorParams после создания таблицы:

    allFeatureStatuses: function() {
      let colDef = this.columnDefs.find(col => col.headerName == "Status")

      if (colDef) {
        colDef.cellEditorParams = {
          values: this.allFeatureStatusNames
        }
      }

      this.gridColumnApi.refreshCells()
    },

Проблема, с которой я столкнулся, заключается в том, что редактор ячеек никогда не обновляется. Всегда пусто. Как мне обновить sh или обновить cellEditorParams после создания таблицы?

1 Ответ

0 голосов
/ 27 мая 2020

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

Что-то вроде ниже сработало для меня -

cellEditorParams: this.getValues.bind(this);

getValues: function() {
   let allowedVals = this.allFeatureStatusNames;
   return { values : allowedVals};
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...