软件教程 2025年08月6日
0 收藏 0 点赞 855 浏览 1349 个字
摘要 :

文章目录 一、前端排序 二、后端排序 antd table组件的功能非常强大,可以实现根据column列进行前端和后端排序、筛选等功能,下面潘老师给大家介绍下antd table如何实……




  • 一、前端排序
  • 二、后端排序

antd table组件的功能非常强大,可以实现根据column列进行前端和后端排序、筛选等功能,下面潘老师给大家介绍下antd table如何实现前端排序和服务端排序的问题。

一、前端排序

antd table前端排序其实非常简单,我们先看下column列官方API说明:
antd table如何实现column列前后端排序
所以想要实现前端排序,只要在定义column列时,设置sorter属性,再带个回调函数即可,类似如下:

const columns = [
    {
        title: 'Age',
        dataIndex: 'age',
        // 默认降序
        defaultSortOrder: 'descend',
        // 回调函数,返回值boolean类型
        sorter: (a, b) => a.age - b.age,
      }
]

如此就可以实现如图针对Age列的排序效果:
antd table如何实现column列前后端排序
更具体的可以参考官网示例:
筛选和排序

二、后端排序

前端排序往往不能满足我们开发的需求,因为一般我们前端都是分页显示的,前端排序只能针对当前页排序,无法全局排序,因此后端排序时很有必要的,相比前端排序而言,后端排序更复杂些,我们第一张图中也看到,sorter是支持后端排序的,只要设置为true即可,那没了回调函数,该如何告知后端根据哪个列进行何种形式的排序呢?这就要我们看下tableapi了:
antd table如何实现column列前后端排序
那怎么用呢?大致的案例代码如下:

// table列
const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
    // 核心1:sorter设置为true
    sorter: true,
    render: name => `${name.first} ${name.last}`,
    width: '20%',
  }
]
// 模板
render() {
    const { data, pagination, loading } = this.state;
    return (
      <Table
        columns={columns}
        rowKey={record => record.login.uuid}
        dataSource={data}
        pagination={pagination}
        loading={loading}
        // 核心2:在table上绑定onChange事件
        onChange={this.handleTableChange}
      />
    );
  }
//核心3: 实现 onchange事件调用后台接口
handleTableChange = (pagination, filters, sorter) => {
    // fetch方法就是你请求后台数据的api,在此就不详细展示了
    this.fetch({
      // 核心4: 排序相关的两个字段 列和排序类型
      sortField: sorter.field,
      sortOrder: sorter.order,
      pagination,
      // 筛选的,可以不用管
      ...filters,
    });
  };

如此点击排序按钮,就可以触发onChange方法将参数和排序字段以及排序方法传给api接口,然后返回排序好的数据,从而实现后端排序
antd table如何实现column列前后端排序
更加具体的案例代码可以参考官网:
远程加载数据
以上就是antd table如何实现根据column列进行前后端排序的方法,如有问题,欢迎留言!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/6110.html

管理员

相关推荐
2025-08-06

文章目录 一、Promise基础回顾 二、Promise 与 axios 结合使用场景及方法 (一)直接返回 axios …

269
2025-08-06

文章目录 一、模块初始化时的内部机制 二、常见导出写法的差异分析 (一)写法一:module.exports…

107
2025-08-06

文章目录 一、ResizeObserver详解 (一)ResizeObserver是什么 (二)ResizeObserver的基本用法 …

683
2025-08-06

文章目录 一、前期准备工作 (一)下载相关文件 (二)安装必要工具 二、处理扣子空间生成的文件…

338
2025-08-06

文章目录 一、官方文档 二、自动解包的数据类型 ref对象:无需.value即可访问 reactive对象:保持…

371
2025-08-06

文章目录 一、Hooks的工作原理 二、在if语句中使用Hook会出什么岔子? 三、React官方的Hook使用规…

843
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号