Ag-Grid - 服务器端行模型 params.failCallback

Lee*_*Lee 5 javascript ag-grid

我们使用企业服务器端行模型从服务器获取数据。我们已经实现了 IServerSideDatasource,如果服务器出错,我们会按照建议调用 params.failCallback。

但是,网格上没有任何反应。加载微调器仍然可见,并且不会向用户通知出现任何问题。

'onRowDataChanged' 事件触发,但它没有关于事件状态的信息。

是否有推荐的方法来通知用户失败?理想情况下,我想通过 ag-grid 事件来处理这个问题,而不是从 IServerSideDatasource 甚至 http 客户端抛出我自己的错误。

这可能吗?

SMa*_*llo 5

我正在使用自定义事件监听器来捕获失败回调调用,它工作得很好

\n\n

在我的主课中:

\n\n
onGridReady = params => {\n    this.gridApi = params.api;\n    this.gridApi.addEventListener(\'failCallback\', this.onServerFailCallback);\n    this.gridApi.setServerSideDatasource(MyRemoteDataSource);\n };\n\nonServerFailCallback = params => {\n    console.error(\'onServerFailCallback\', params); \n }\n
Run Code Online (Sandbox Code Playgroud)\n\n

在我的远程数据源中:

\n\n
class MyRemoteDatasource{\n    getRows(params) {\n        fetchData(params).then(\n        response => {     \n            params.successCallback(response.data);\n        }, \n        error => {    \n           params.failCallback();\n           params.parentNode.gridApi.dispatchEvent({\n               type: \'failCallback\',\n               api: params.parentNode.gridApi,\n               columnApi: params.parentNode.columnApi,\n               error: error\n           });\n        });\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
\n

onServerFailCallback,\n {type:“failCallback”,api:GridApi,columnApi:ColumnApi,错误:错误:堆栈跟踪 \xe2\x80\xa6 处的 fetchData() 内部出错}

\n
\n