我们正在使用企业服务器端行模型从服务器中获取数据。我们已经实现了IServerSideDatasource,如果服务器发生错误,我们会根据建议调用params.failCallback。
但是,网格上没有任何反应。加载微调框仍然可见,并且没有任何错误通知用户。
会触发“ onRowDataChanged”事件,但它没有有关事件状态的信息。
是否有建议的方式将失败通知用户?理想情况下,我想通过ag-grid事件处理此问题,而不是从IServerSideDatasource甚至http客户端抛出我自己的错误。
这可能吗?
答案 0 :(得分:0)
我正在使用自定义的eventListener来捕获failCallback调用,并且效果很好
在我的主班上:
onGridReady = params => {
this.gridApi = params.api;
this.gridApi.addEventListener('failCallback', this.onServerFailCallback);
this.gridApi.setServerSideDatasource(MyRemoteDataSource);
};
onServerFailCallback = params => {
console.error('onServerFailCallback', params);
}
在MyRemoteDatasource中:
class MyRemoteDatasource{
getRows(params) {
fetchData(params).then(
response => {
params.successCallback(response.data);
},
error => {
params.failCallback();
params.parentNode.gridApi.dispatchEvent({
type: 'failCallback',
api: params.parentNode.gridApi,
columnApi: params.parentNode.columnApi,
error: error
});
});
}
}
输出:
onServerFailCallback, {type:“ failCallback”,api:GridApi,columnApi:ColumnApi,错误:错误:堆栈跟踪中fetchData()内部错误…}