sortChanged 事件在带有react 的ag-grid 中不起作用

问题描述 投票:0回答:2

我正在使用带有react的ag-grid;它有一个活动

  sortChanged={sortChanged}

根据本文档http://54.222.217.254/javascript-grid-events/#sort-filter

但就我而言,它没有被调用,我不知道为什么。

我从这个链接可以看到它正在以角度工作。

我尝试遵循不同的语法并浏览其完整的文档,但没有成功。

这是我伪造的朋克,我只想发出警报 hi 只是为了知道用户单击了排序: https://plnkr.co/edit/48MYV18mpAAuK27L?预览

我正在尝试这样:

  <AgGridReact
    defaultColDef={{ sortable: true }}
    onGridReady={onGridReady}
    rowData={rowData}
    sortChanged={sortChanged}
  >

并像这样使用它:

 const sortChanged = (e) => {
    alert("hi")
    console.log(e)
    }
javascript reactjs grid ag-grid ag-grid-react
2个回答
0
投票

尝试其中一项:

const onSortChanged=(e: AgGridEvent)=> {
  e.api.refreshCells();
}

const onSortChanged=(e: AgGridEvent)=> {
   e.api.redrawRows();
 }

0
投票

如果有人仍然面临一些问题。看起来文档没有更新,网格的正确支撑是

onSortChanged

这样你就可以获得排序状态:

const onSortChanged = (e: SortChangedEvent) => {
  const sortState = e.columnApi
    .getColumnState()
    .filter(function (s) {
      return s.sort != null;
    })
    .map(function (s) {
      return { colId: s.colId, sort: s.sort, sortIndex: s.sortIndex };
    });
  console.log(sortState);
}

和组件:

 <AgGridReact
    defaultColDef={{ sortable: true }}
    onGridReady={onGridReady}
    rowData={rowData}
    onSortChanged={onSortChanged} //this is the main change
  >

来源: SortChangedEvent:https://www.ag-grid.com/react-data-grid/grid-events/#reference-sort

排序状态过滤器和映射(saveSort函数):https://www.ag-grid.com/react-data-grid/row-sorting/#sorting-api

© www.soinside.com 2019 - 2024. All rights reserved.