antd table 自定义排序图标

news/2024/7/15 16:33:46 标签: react.js, 前端, 前端框架

要在Ant Design的Table组件中自定义排序图标,可以使用sorter和sortDirections属性来实现自定义排序逻辑和图标。以下是一个示例,演示如何在Ant Design的Table中自定义排序图标:

import React, { useState } from 'react';

import { Table, Space } from 'antd';

import { CaretUpOutlined, CaretDownOutlined } from '@ant-design/icons';

const data = [

  {

    key: '1',

    name: 'John Brown',

    age: 32,

  },

  {

    key: '2',

    name: 'Jim Green',

    age: 42,

  },

  // 添加更多数据

];

const columns = [

  {

    title: 'Name',

    dataIndex: 'name',

    key: 'name',

    sorter: (a, b) => a.name.localeCompare(b.name),

    sortDirections: ['ascend', 'descend'],

    render: (text, record) => (

      <Space size="middle">

        {text}

        {record.name === 'John Brown' && (

          <span>{record.age > 35 ? <CaretUpOutlined /> : <CaretDownOutlined />}</span>

        )}

      </Space>

    ),

  },

  {

    title: 'Age',

    dataIndex: 'age',

    key: 'age',

    sorter: (a, b) => a.age - b.age,

    sortDirections: ['ascend', 'descend'],

  },

];

const CustomSortIconsTable = () => {

  const [sortedInfo, setSortedInfo] = useState({});

  const handleChange = (pagination, filters, sorter) => {

    setSortedInfo(sorter);

  };

  return (

    <Table

      columns={columns}

      dataSource={data}

      onChange={handleChange}

      pagination={false}

      showSorterTooltip={false} // 隐藏默认的排序提示

    />

  );

};

export default CustomSortIconsTable;

在上述示例中,我们创建了一个名为CustomSortIconsTable的函数组件,该组件包含一个Ant Design的Table。在columns配置中,我们定义了两列,分别是“Name”和“Age”。我们使用sorter属性来指定自定义的排序逻辑,然后使用sortDirections属性来指定排序的方向(升序和降序)。

在“Name”列中,我们还使用了render属性来自定义渲染单元格内容,并根据条件显示不同的排序图标。在这个示例中,我们检查了名字是否是“John Brown”,如果是,则根据年龄的条件显示升序或降序图标。

最后,我们使用Table组件来呈现表格,并将onChange回调用于处理排序事件。这样,你就可以在Ant Design的Table中实现自定义排序图标。


http://www.niftyadmin.cn/n/5047305.html

相关文章

Python 类与对象实例的介绍与基本使用

面向对象技术的基本概念 类(Class)&#xff1a; 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。简单来说&#xff0c;类是模板&#xff0c;而实例则是根据类创建的对象 **类变量&#xff1a;**类变量在整个实例化的…

【Linux】生产消费模型 + 线程池

文章目录 &#x1f4d6; 前言1. 生产消费模型2. 阻塞队列2.1 成员变量&#xff1a;2.2 入队(push)和出队(pop)&#xff1a;2.3 封装与测试运行&#xff1a;2.3 - 1 对代码进一步封装2.3 - 2 分配运算任务2.3 - 3 测试与运行 3. 循环阻塞队列3.1 POSIX信号量&#xff1a;3.1 - 1…

Linux 内存workingset Refault Distance算法源码及源码解析

概述 内核mm子系统中有一个workingset.c实现了refault distance算法&#xff0c;发现网络逻辑介绍该算法的文章主要是复制自奔跑吧内核一书中的内容&#xff0c;均比较雷同&#xff0c;讲述的角度比较难以理解&#xff0c;我第一看到的时候琢磨了2天才明白&#xff0c;本文希望…

WordPress主题开发(四)之—— 主题结构基础补存

WordPress主题开发&#xff08;五&#xff09;之—— 主题结构基础 拆解主题组成部分1. 模板文件和文章类型2. 文件结构3. 语言国际化 模板循环和数据提取主题功能和条件函数默认分类和自定义分类法 总结 在之前的章节中&#xff0c;我们已经简要介绍了 WordPress 主题的基本概…

3、SpringBoot_配置文件

四、配置文件 1.前言 曾经使用SpringMVC的时候是手动修改tomcat配置的端口信息&#xff0c;那现在Springboot如何修改&#xff1f;springboot有一个默认的配置文件 application.properties 2.配置文件分类 常用配置信息官方文档地址 https://docs.spring.io/spring-boot/doc…

CSI及CPHY的学习知识点

0.CSI早期只有DPHY可用 CSI-2 v1.3及之后版本提供了更高的接口带宽和更好的通道布局灵活性。从CSI-2 V1.3开始引入了C-PHY 1.0&#xff08;C-PHY 1.0是MIPI联盟于2014年9月发布的新物理接口)&#xff0c;能够兼容之前的D-PHY v1.2版本。 在CSI-2 V1.2及以前都只能用DPHY传输csi…

Hudi第一章:编译安装

系列文章目录 Hudi第一章&#xff1a;编译安装 文章目录 系列文章目录前言一、环境准备1.JDK2.Maven1.上传并解压。2.修改源3.添加环境变量 二、hudi编译1.上传解压2.修改pom1.添加仓库2.修改依赖的组件版本 2.修改源码兼容hadoop33.手动安装Kafka依赖1.上传jar包2.install到m…

main.c从编译到运行到底发生了什么

一个程序main.c从编译到执行到底经历了什么 #mermaid-svg-FJpNtzRfl15TFpme {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FJpNtzRfl15TFpme .error-icon{fill:#552222;}#mermaid-svg-FJpNtzRfl15TFpme .error-tex…