Обновить cellEditorParams после создания таблицы
Я использую сетку 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()
},
У меня проблема в том, что редактор ячеек никогда не обновляется. Всегда пусто. Как мне обновить или обновить cellEditorParams после создания таблицы?
1 ответ
Решение
Хотя при вашем подходе проблема может заключаться в том, что ваш объект colDef не обновляется, потому что вы пытаетесь изменить существующий объект, и создание нового colDef может сработать для вас.
Что-то вроде ниже сработало для меня -
cellEditorParams: this.getValues.bind(this);
getValues: function() {
let allowedVals = this.allFeatureStatusNames;
return { values : allowedVals};
}