首先,antd EditableProTable 组件是在 table组件的基础上又封装了一层,可以实现行更新,删除,增加。只需动动手指,简单配置一下即可。

先下载 EditableProTable 组件的依赖 cnpm install --save  @ant-design/pro-table;

引入 import { EditableProTable } from '@ant-design/pro-table';

使用:

第一:根据后台返回数据设置表头:

const columnsR = [{

            title: '问题类型',
            dataIndex: 'codeName',
            formItemProps: {
                rules: [
                  {
                    required: true,
                    message: '此项为必填项',
                  },
                ],
            }
        }, //验证编辑更新时,输入框是否有值,相当于正则
        {
            title: '操作',
            valueType: 'option',
            width: 200,
            render: (text, record, _, action) => [
                <a
                    key="editable"
                    style={{color:'#78cdd1'}}
                    onClick={() => {
                        var _a;
                        (_a = action.startEditable) === null || _a === void 0 ? void 0 : _a.call(action, record.id);
                    }}
                >
                    编辑
                </a>
            ]
        }]
 

        <EditableProTable
               rowKey="id"
               columns={columnsR}
               request={() => {
                   return {
                       data: taskNameList,//数据源注入
                       success: true,
                   }
               }}//获取后台的数据
              value={taskNameList}//必须要写上,否则更新或者删除时表格数据不会更新
              editable={{
                  type: 'multiple',
                  onSave: async (rowKey, newData, oldData) => {
                       console.log(rowKey,newData, oldData);
                       //保存时触发 rowKey是每行数据的id,newData是新填写的数据,oldData是老数据,依据业务需求向后台传参。
                  },
                  onDelete: async (rowKey, data) => {
                         console.log(rowKey, data);
                         //删除时触发 rowKey是每行数据的id,data是删除的数据,依据业务需求向后台传参。
                   }
               }}
               recordCreatorProps={{
                   position: 'end',
                   record: () => ({
                       id: Date.now(),//最好写上,否则控制台报key警告。
                   }),
                   onClick: () => {
                        message.destroy()
                    }
               }}//此项配置是新添加一行的按钮配置,详细配置可查看 EditableProTable文档
       />
 
     //这样我们就实现了一个功能非常齐全的表格 展示如下:
     

感兴趣的小伙伴可以尝试一下。

样式:(仅供参考)

.ant-pro-table,.ant-table-wrapper{

                    width: 100%;
                    overflow: auto;
                    height: 90%;
                    margin: 0 auto;
                    .ant-table,.ant-card{
                        background: transparent;
                    }
                    .ant-card-body{
                        padding:0;
                        .ant-btn-dashed{
                            margin:0;
                            color: #fff;
                            background: transparent;
                            border:none;
                        }
                    }
                    .ant-table-thead > tr > th {
                        color: #00b4ff;
                        text-align: center;
                        background: #052768;
                        border:none;
                        border-right:1px solid #032786;
                    }
                    .ant-table-thead .ant-table-cell-scrollbar{
                        display:none;
                    }
                    .ant-table-thead > tr > th:first-child {
                        border-left:1px solid #032786;
                    }
                    .ant-table-tbody > tr > td{
                        color:#fff;
                        text-align: center;
                        border:none;
                        border-right:1px solid #032786;
                        word-break: break-all;
                    }
                    .ant-table-tbody > tr:nth-child(2n) {
                        background:#052870;
                    }
                    .ant-table-tbody > tr > td:first-child{
                        border-left:1px solid #032786;
                    }
                    .ant-table-tbody > tr:last-child > td{
                        border-bottom:1px solid #032786;
                    }
                    .ant-table-tbody > .ant-table-row{
                        cursor: pointer;
                    }
                    .ant-table-tbody{
                        > tr:hover:not(.ant-table-expanded-row) > td,.ant-table-row-hover,.ant-table-row-hover>td{
                            background:#0285f2!important;
                        }
                    }
                    .ant-table-thead > tr > th, .ant-table-tbody > tr > td, .ant-table tfoot > tr > th, .ant-table tfoot > tr > td {
                        padding:12px 16px;
                    }
                    .ant-btn .anticon.anticon-plus > svg, .ant-btn .anticon.anticon-minus > svg {
                        shape-rendering: geometricprecision;
                    }
                    .ant-empty-description{
                        color:#fff;
                    }
                    .ant-space > .ant-space-item > a{
                        color:#78cdd1;
                    }
                }

antd EditableProTable 组件的简单用法的更多相关文章

  1. 使用Topshelf组件构建简单的Windows服务

    很多时候都在讨论是否需要了解一个组件或者一个语言的底层原理这个问题,其实我个人觉得,对于这个问题,每个人都有自己的看法,个人情况不同,选择的方式也就会不同了.我个人觉得无论学习什么,都应该尝试着去了解 ...

  2. 98.Ext.form.Label组件的基本用法

    转自:https://www.cnblogs.com/kelly/archive/2009/06/05/1496897.html 本篇介绍Ext.form.Label组件的基本用法: 这里通过上一篇介 ...

  3. vue内置组件——transition简单原理图文详解

    基本概念 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.css 在过渡 ...

  4. WebView的一些简单用法

    一直想写一个关于 WebView 控件的 一些简单运用,都没什么时间,这次也是挤出时间写的,里面的一些基础知识就等有时间再更新讲解一下,今天就先把项目出来做一些简单介绍,过多的内容可以看我的源码,都传 ...

  5. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  6. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  7. 第四节:Vue表单标签和组件的基本用法,父子组件间的通信

    vue表单标签和组件的基本用法,父子组件间的通信,直接看例子吧. <!DOCTYPE html> <html> <head> <meta charset=&q ...

  8. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  9. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  10. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

随机推荐

  1. 浪潮QQ群成员提取器 V2022

    浪潮QQ群成员提取软件 V2021 最新升级版 使用扫描安全登录QQ,批量获取群列表,然后在读取指定群的群成员列表支持过滤群主.群管理员 支持按最后发言时间提取活跃用户 支持识别僵尸粉和过滤可以导出文 ...

  2. 查看process状态

    1.查看进程Uid.Gid bash-4.4# cat /proc/1/status | grep Uid Uid: 0 0 0 0 bash-4.4# cat /proc/1/status | gr ...

  3. noi 2.1 1978 生理周期

    noi 1978 生理周期 1.描述 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如, ...

  4. 修复右键批量打印PDF文件的功能

    bat文件内容如下, 直接右键管理员运行即可. @echo off rem "功能描述:修复右键批量打印PDF文件的功能" rem "制作人:赵龙" rem & ...

  5. HFS~HTTP File Server 2.4rc2 20191231

    后台,打卡,这有的 电脑 PC   浏览器 打开 安卓平台,浏览器,打开,界面

  6. k8s_namespace

    namespace 可以认为namespaces是kubernetes集群中的虚拟化集群.在Kubernetes集群可以拥有多个命名空间,它们在逻辑上彼此隔离. 多数的Kubernetes中的集群默认 ...

  7. 取得SAP服务器主机名(host name)和端口号(port)函数[TH_GET_VIRT_HOST_DATA]

    本文转载至:http://www.baidusap.com/abap/function/4245 是要Vcode开发abap的时候,连接服务器的时候需要端口号,可以用函数TH_GET_VIRT_HOS ...

  8. Vue项目的打包方式(生成dist文件)

    一.相关配置情况一(使用的工具是 vue-cil) 如果是用 vue-cli 创建的项目,则项目目录中没有 config 文件夹,所以我们需要自建一个配置文件:在根目录 src 下创建文件 vue.c ...

  9. PTA-R7-1 圆形体体积计算器

    ​R7-1 圆形体体积计算器 分数 20 全屏浏览题目 切换布局 作者 张高燕 单位 浙江大学 本题要求实现一个常用圆形体体积的计算器.计算公式如下: 球体体积 V=4​π*r3/3,其中r是球体半径 ...

  10. SqlSugar 代码生成 数据库及表

    在实际开发中如何在sqlsugar中通过model生成数据表呢? 废话不说上代码 一.引入sqlsugarcore 二.编写Model代码 先写一个model举例 namespace 用户管理.Mod ...