首先,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. 《【转载】ChatGPT创始人,给我们上的8堂课》 回复

    <[转载]ChatGPT创始人,给我们上的8堂课>           https://tieba.baidu.com/p/8276644432

  2. vbox批量管理工具 VirtualBox硬件级虚拟机大众网络版v2019/v2020/v2021 免费版下载地址

    浪潮vbox批量管理器-基础网络版 大众版 免费版 免激活码 免注册码 V2021下载地址:    https://d1.crsky.com/software2/20210107/VBoxMgr_v2 ...

  3. 直接使用Arrays.asList()转数组,转变类型实际为AbstractList

    1.直接将数组转换为list时List的类型为AbstractList public static void main(String[] args) { String[] arr = {"A ...

  4. go ice相关配置

    set GO111MODULE=on set GOPROXY=https://goproxy.cn,direct set GOPRIVATE=*.jd.com go get git.jd.com/ch ...

  5. C与C++字符串比较

    #include<iostream> #include<string> using namespace std; int main() { char a[] = "a ...

  6. go组合

    package main import "fmt" func main() { aa := []string{"a", "b", " ...

  7. centos6.5升级python3.6并安装boto3模块

    1.先升级openssl yum安装各种依赖,yum install gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel tar zxvf ...

  8. 在VSCODE的终端运行Python时汉字乱码问题处理

    问题描述 在VSCODE的终端运行Python时,打印输出中文时汉字出现乱码, 文件编码都是UTF-8 解决步骤 1.打开Settings配置窗口(Ctrl+,) 2.搜索:code-runner.e ...

  9. Spark On Hive

    配置 MySQL 通过官网下载并解压: tar -zxvf mysql-8.0.31-el7-x86_64.tar.gz -C /usr/local 重命名: mv mysql-8.0.28-el7- ...

  10. .net ef 链接 mysql

    https://blog.csdn.net/weixin_30394975/article/details/114168133