首先,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. c/c++工程中为什么仅仅main.cpp引用其他源文件的头文件不够,源文件还要引用自身的头文件?

    原博客链接: https://blog.csdn.net/khwkhwkhw/article/details/49798985?utm_source=app&from=timeline 引言: ...

  2. uml类间关系总结

    1. 关联关系 (1) 双向关联 顾客购买并拥有商品,商品被顾客购买,Customer和Product双向关联 (2) 单向关联 顾客拥有地址 (3) 自关联:一些类的属性对象类型是本身 (4) 多重 ...

  3. Qt多线程编程之QThread

    背景引言[ GUI主线程 +子线程] 跟C++11中很像的是,Qt中使用QThread来管理线程,一个QThread对象管理一个线程,在使用上有很多跟C++11中相似的地方,但更多的是Qt中独有的内容 ...

  4. Codeforces 1208F Bits And Pieces

    题目描述 You are given an array a of n integers. You need to find the maximum value of ai|(aj&ak) ov ...

  5. elasticsearch组件

    elasticsearch组件 Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据. 它被用作全文检索.结构化搜索.分析以及这三个功能的组合 E ...

  6. MARKDEEP.js-一个轻松在HTML中输入MD代码的JavaScript库

    MARKDEEP.js-一个轻松在HTML中输入MD代码的JavaScript库 http://casual-effects.com/markdeep/ 引入: <style class=&qu ...

  7. Unity实现手机录音功能

    using UnityEngine;using System.Collections;public class MicPhoneScripts : MonoBehaviour{    private ...

  8. 使用centos8.5配置一台YUM源服务器

    公司的生产环境部署的Centos8.5, 现在已经EOL了, 为了给生产和测试机继续提供yum/dnf服务, 特意在公司的内部机房部署了一套本地yum源. 环境:centos 8.5 1. 下载镜像 ...

  9. OS X Maven 安装与使用简介

    Java真的很重很复杂,连项目构建和编译都得专门拉出来学,这里整理一下在OS X上使用Maven的注意事项. 一.安装 [bash] 1.从http://maven.apache.org/downlo ...

  10. android studio的一些辅助工具

    目录配置 https://blog.csdn.net/Kideers/article/details/128233984 https://blog.csdn.net/hnjcxy/article/de ...