react-antd中表格的使用(数据的请求,带删除功能的表格)

2023-11-15

前言

最近在学习react-antd框架,表格这一块在项目中的使用频率很高,最近在学习这一块的内容,所以记录一下

基础表格请求数据

一般对于表格中的数据我们会进行请求,将请求到的数据存入表格中展示出来
当我们请求较少时可以这样写:

const [data, setData] = useState()
useEffect(() => {
    const getData = async () => {
        const { data } = await axios.get('http://localhost:3001/user')
        console.log(data)
        const { user } = { ...data }
        setData(user)
    }
    getData()
}, [])

如果在useEffect函数中有多个请求,需要写很多async/await请求的时候,就需要下面这种写法:

useEffect(async() => {
   const getData = () => {
       return axios.get('http://localhost:3001/user')
   }
   const getData2 = () => {
       return axios.get('http://localhost:3001/user')
   }
   let a = await getData()
   let a2 = await getData2()
   console.log(a)
   console.log(a2)
})

然后定义表格的表头数据:

const colums = [
    {
        title: 'id',
        dataIndex: 'id'
    },
    {
        title: '姓名',
        dataIndex: 'name'
    },
    {
        title: '年龄',
        dataIndex: 'age'
    },
    {
        title: '性别',
        dataIndex: 'isMale',
        render(isMale) {
            return isMale === true ? '男' : '女'
        }
    },
    {
        title: '地址',
        dataIndex: 'address'
    },
    {
        title: '手机号',
        dataIndex: 'phone'
    }
]

最后渲染表格:
dataSource就是数据源,columns就是表头的内容

return (
        <div>
            <Card title='基础表格'>
                <Table dataSource={data} columns={colums} />
            </Card>
        </div>
    )

查看效果:(表格中的数据纯属虚构,如有雷同,没有冒犯之意)
在这里插入图片描述

带删除功能的表格

如果要给表格加上行删除的功能,怎么实现呢?
首先,在表头columns数据中我们要新增一列是操作,里面是一个按钮:
直接通过render进行return一个按钮,在里面添加点击事件进行删除

const columns = [
     {
         id: 'ID',
         dataIndex: 'key'
     },
     {
         title: '姓名',
         dataIndex: 'name'
     },
     {
         title: '年龄',
         dataIndex: 'age'
     },
     {
         title: '地址',
         dataIndex: 'address'
     },
     {
         title: '操作',
         key: 'operaion',
         render: (row, record) => {
             return <Button onClick={() => removeItem(row, record.key)}>删除</Button>
         }
     }
 ]

删除事件:
点击按钮我们设置出一个Modal弹窗进行二次确认,里面的onOk就是二次确认删除触发的内容,这里我们做一个模拟的删除,当然实际开发中是进行api请求后端删除

const removeItem = (row, key) => {
    console.log(row, key)
    Modal.confirm({
        title: '删除内容',
        content: `你忍心删除${row.name}吗?`,
        onOk: () => {
            setState(state.filter(item => item.key !== key))
            message.success('删除成功!')
        }
    })
}

我们这里传入了 row, key数据,看一下打印是什么东西:
能够获取到当前行的数据以及行号,也就是方便上面进行删除操作
在这里插入图片描述
最后渲染表格:

const [state, setState] = useState(data)
return (
    <div >
        <Card>
            <Table 
                dataSource={state} 
                columns={columns} 
                bordered />
        </Card>
    </div>
)

查看效果:
在这里插入图片描述

设置宽度或高度条

可以使用table标签中的scroll={{x: 1200}}设置横向宽度,然后搭配外面的div宽度,可以实现横向条,纵向的同理

return (
        <div style={{'width': '1000px'}}>
            <Card>
                <Table 
                    dataSource={state} 
                    columns={columns} 
                    scroll={{x: 1200}}
                    bordered />
            </Card>
        </div>
    )

看下效果:
在这里插入图片描述

最后

总结了一些表格的用法,如何请求数据,如何设置按钮删除数据等等,如果有补充或者问题可以评论区一起讨论~
对你有帮助的话可以点赞关注支持一下呀~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

react-antd中表格的使用(数据的请求,带删除功能的表格) 的相关文章

随机推荐

  • 学习lava源码时遇到的python知识

    内置函数 参考 https docs python org 3 7 library functions html Built in Functions abs delattr hash memoryview all dict help mi
  • MVC 模式与三层架构

  • Pr批量字幕制作

    一 标题字幕 1 选择文件 新建 旧版标题 2 根据所需设置一下 视频属性的高宽 是根据自己视频情况而定 一般新建的时候 就会根据自己导入的视频而显示 无需再设置 3 添加文字后 根据自己所需设置所需字幕 钢笔工具可以设置字幕移动 滚动字幕
  • 第十三届蓝桥杯大赛软件组省赛 Python大学A组 个人题解

    Link 文章目录 Python大学A组 个人题解 试题 A 裁纸刀 思路 代码 试题 B 寻找整数 思路 代码 试题 C 质因数个数 思路 代码 试题 D 矩形拼接 思路 代码 试题 F 重新排序 思路 代码 试题 G 全排列的价值 思路
  • Spring 系列

    前面几篇文章我们聊过IOC以及Spring IOC 其中Spring IOC 的一个实现方式包含 依赖查找 和依赖注入 本文我们进一步详细聊一下 SpringIOC的依赖查找 及其对应的方式 以及安全性 内置依赖等 查找类型 1单一类型 根
  • QTableView 添加进度条、下拉选择框、日历、图片、文字等(QAbstractItemDelegate)

    本文主要记录QTableView 使用代理添加进度条 下拉选择框 日历等 并实现复制粘贴 右键菜单等 效果如下图所示 最后有动态展示 图片说明 1 图中红色1处是 和 双击可以相互切换显示 2 图中红色2处是Qspinbox 实现整数输入
  • Selenium基础 — 鼠标操作

    1 鼠标事件介绍 前面例子中我们已经学习到可以用click 来模拟鼠标的单击操作 而我们在实际的web产品测试中发现 有关鼠标的操作 不单单只有单击 有时候还要用到右击 双击 拖动等操作 这些操作包含在ActionChains类中 2 Ac
  • 【github】无需拉取项目,在线使用 vscode 进行 code review

    打开任意一个项目 将域名中的github改为github1s 例如 https github com ranmaxli python service https github1s com ranmaxli python service 即可
  • linux module 目录,/sys/module/ 模块信息目录与/proc/modules文件

    在内核模块编译中 会选择编译成模块 或者build in 内核镜像中 其中对内核模块有很好的的说明 这也是linux在嵌入式当中得到广泛应用的充分体现 内核中有很多功能选项 其中有许多使我们不需要的 内核设计成模块的优势所在就在这里 不需要
  • [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制

    欢迎大家来到 Python从零到壹 在这里我将分享约200篇Python系列文章 带大家一起去学习和玩耍 看看Python这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 真心想把自己近十年的编程经验分享给大家 希望对您有所帮助
  • 常见七大排序算法

    目录 前言 冒泡排序 选择排序 插入排序 希尔排序 shell 快速排序 归并排序 计数排序 前言 在前面我发布了常见的七大排序算法的相关博客 今天这一篇文章是做一个排序算法的小总结 把前面的博客集中分类到一起 方便大家查看 下面就可以去通
  • 树莓派 /bin/sh: 1: /usr/bin/apt-listchanges: not found 返回了一个错误号 (1) --apt

    问题 bin sh 1 usr bin apt listchanges not found E 子进程 usr bin apt listchanges apt test lt 10 返回了一个错误号 1 E Failure running
  • 分布式环境下使用RSA算法实现登录密码的加密传输

    目录 效果 RSA介绍 实现思路 服务端实现 RSAService RSA算法的相关操作 RedisService 公钥和密钥的存储和获取 获取公钥的接口 客户端使用公钥加密 服务端使用私钥解密 效果 RSA介绍 RSA是一种非对称加密算法
  • 免费获取JetBrains一年全家桶

    原文链接 https blog csdn net li5672 article details 110231645 登录Github Education 点击Get benefits 点击Get student benefits 下一步以后
  • CHL同步队列是什么

    CHL同步队列就是AQS内部维护的一个FIFO双向队列 AQS依赖这个双向队列来完成同步状态的管理 如果当前线程获取同步状态失败 AQS将会将当前线程以及等待状态信息构建成一个节点 Node 并将其加入到同步队列中 同时会阻塞当前线程 当同
  • linux 创建 svn 库

    cd data svn mkdir p itvalue chown R windmaker windmaker itvalue svnadmin create data svn itvalue cd itvalue cd conf vim
  • android studio中的CMakeLists.txt,就是如此简单

    android studio中的CMakeLists txt 就是如此简单 user Linvest 目录 1 cmake minimum required VERSION 3 4 1 2 add library native lib SH
  • RabbitMQ简介与安装

    技术对比 MQ 中文是消息队列 MessageQueue 字面来看就是存放消息的队列 也就是事件驱动架构中的Broker 比较常见的MQ实现 ActiveMQ RabbitMQ RocketMQ Kafka 几种常见MQ的对比 Rabbit
  • Android的ADB工具使用

    在SDK的Tools文件夹下包含着Android模拟器操作的重要命令ADB ADB的全称为Android Debug Bridge 就是调试桥的作用 借助这个工具 我们可以管理设备或手机模拟器的状态 还可以进行以下的操作 1 快速更新设备或
  • react-antd中表格的使用(数据的请求,带删除功能的表格)

    前言 最近在学习react antd框架 表格这一块在项目中的使用频率很高 最近在学习这一块的内容 所以记录一下 基础表格请求数据 一般对于表格中的数据我们会进行请求 将请求到的数据存入表格中展示出来 当我们请求较少时可以这样写 const