下面是我的一个标题字段的代码:
{
headerName: 'Keyword Action',
editable: true,
field: 'action',
cellRenderer: function(params) { return params.value; },
cellEditor: 'agSelectCellEditor',
filter: 'text',
cellClass: 'grid-align',
cellEditorParams: (params) => {
let selectedScreenInGrid = params.data.screenName;
return {
values: this.screenToActionMap(selectedScreenInGrid,function(res){
return res;
})
};
}
},
下面是我的函数,我在其中获取异步值以显示在 Action 字段中。
screenToActionMap(screenName,callback) {
let scenarioGeneratorComp = this;
scenarioGeneratorComp.scenarioService.getActions(screenName)
.subscribe((res:any) => {
console.log('Actions response ' + res);
res.forEach(function(elm:any,idx:number){
scenarioGeneratorComp.actionsForGrid.push(elm.actionName);
});
return callback([scenarioGeneratorComp.actionsForGrid]);
});
}
在我获取数据之前,celleditorparams 将值设为未定义。我在这里使用回调函数来等到网格中的 celleditorparams 需要我的 actionsForGrid 值。任何人都可以帮助我显示从我的异步调用中获取的值。