首页 > 解决方案 > 在反应中调用方法 onChange 表时不获取值排序器?(我用过分拣机:真)

问题描述

我有下面的源代码:(版本antd:“^4.2.4”)

柱子:

const columns = [
{
  title: 'ID',
  dataIndex: 'id',
  sorter: true,
  width: 100,
},
...

桌子:

<Table rowSelection={rowSelection}
    onChange={onChangeTable}
    className='table'
    size='small'
    loading={schedules.loading}
    pagination={{
      ...PAGINATION,
      current: schedules.param.current,
      pageSize: schedules.param.pageSize,
      total: schedules.param.total,
    }}
    rowKey='id'
    columns={columns}
    dataSource={schedules.listData}
  />

调用 onChange:

const onChangeTable = (pagination, sorter) => {
    console.log(sorter)
}

当我单击列 ID 处的排序时,console.log(sorter) 为空。

你能帮助我吗?非常感谢你!

标签: javascriptreactjsantd

解决方案


组件文档onChangeTable显示以下签名:

function(
  pagination,
  filters,
  sorter, 
  extra: { currentDataSource: [], action: paginate | sort | filter }
)

因此,您需要将回调更改为:

const onChangeTable = (pagination, filters, sorter) => {
    console.log(sorter)
}

编辑过滤器和排序器 - antd@4.16.13


推荐阅读