【问题标题】:Ag-Grid - serverside row model params.failCallbackAg-Grid - 服务器端行模型 params.failCallback
【发布时间】:2018-12-01 01:39:25
【问题描述】:

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

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

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

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

这可能吗?

【问题讨论】:

  • 我知道这个问题已经 1 岁了,但我遇到了完全相同的问题。你知道如何使用 failCallback 吗?
  • 对不起 - 不 - 从来没有解决它
  • @SMarello 问题仍然存在.....除了自定义事件监听器之外,您找到解决方案了吗?
  • @lolplayer101 不,抱歉,自定义 eventListener 在我的情况下工作正常。
  • 如果有人觉得它有帮助...... eventListener 对我不起作用,但起作用的是在数据源中声明一个错误事件并在调用组件中订阅它。

标签: javascript ag-grid


【解决方案1】:

我正在使用自定义 eventListener 来捕获 failCallback 调用,它工作得很好

在我的主要课程中:

onGridReady = params => {
    this.gridApi = params.api;
    this.gridApi.addEventListener('failCallback', this.onServerFailCallback);
    this.gridApi.setServerSideDatasource(MyRemoteDataSource);
 };

onServerFailCallback = params => {
    console.error('onServerFailCallback', params); 
 }

在我的远程数据源中:

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, error: Error: Error inside fetchData() at stack trace...}

【讨论】:

  • params.parentNode 未定义。这里需要在getRows方法中解释一下。
猜你喜欢
  • 2020-01-20
  • 2018-09-29
  • 2021-10-04
  • 2018-04-30
  • 2022-12-29
  • 2021-04-29
  • 2019-01-19
  • 1970-01-01
  • 2019-02-18
相关资源
最近更新 更多