react + antd个人表格组件化,以及源码分享。

本文介绍了如何使用React和Ant Design实现一个可复用的表格组件,包括表格的请求接口、参数说明、搜索功能、按钮控制、列配置等功能。组件通过传入不同参数实现动态加载数据、搜索、操作列等功能,便于在项目中灵活应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用:
    页面只需引入对应模块:import MyTable from '../component/myTable.js';

    对应的组件为:
    <MyTable columns={this.state.columns} reloadTableFunc={this.state.reloadTableFunc}  reloadTableKey={this.state.reloadTableKey} noticeTableParent={this.buttonBtnClick} tUrl={window.url.getLinkList} tParams={this.state.params} serachList={this.state.serachList}  buttonList={this.state.buttonList}/>
    
    控制对应的state,参数如下文。

参数说明:

    下面为每个参数的说明:
    tUrl(string): 请求表格的接口
    tParams(object): 接口传递参数,
    reloadTableKey(bollean): 是否刷新页面数据,刷新设置为true,否则false
    serachList(list):搜索的头部(查看截图位置1)
        无需搜索传空数组[]。有数据则自动补充搜索按钮,按钮已集成对应的列表参数。
        数组内部的参数解析:
            必传name,为显示搜索条件的名称,
            必传key,为显示搜索值回调的key.
            必传type
                值为'text'表示文本框搜索,
                值为'select'表示选择框搜索,必传list,表示数据源     
                值为'date'表示日期搜索

            案例: [
                    {type: 'text',name: '岗位名称',key: 'name',},
                    {type: 'select',name: '状态',key: 'status',require: true,
                        list: [
                            {value: 1, name: '有效'},
                            {value: 0, name: '无效'},
                        ]
                    },
                ],
    buttonList(list):表格按钮的控制(查看截图位置2)
        name未按钮名称,按钮回调见noticeTableParent
        案例:
            [
                {
                    "name": "新增",
                }
            ]
    noticeTableParent(function):按钮回调,首个参数代表上面buttonList对应的位置
        案例:
            noticeTableParent(index) {
                if( index == 0){//新增用户
                    alert("表示上边新增按钮的回调");
                }
            }
        
    columns(list):
        表示表格的数据展示:(查看截图位置3):
            title标识列表名称,dataIndex读取对应数据源的值.
            此外有特殊操作render等,可具体看ant,table控件文档。
        案例:[
            {title: '名称',dataIndex: 'linkName'},
            {title: '链接',dataIndex: 'linkUrl'},
            {title: '说明',dataIndex: 'linkRemark',},
            {title: '操作',dataIndex: 'createTime',key: 'createTime',
               render: (text, record) => (
               <Fragment>
                    <a onClick={() => this.changeObj(record)}>修改</a>
                    <Divider type="vertical" />
                    <a onClick={() => this.delObj( record)}>删除</a>
               </Fragment>
             )}
        ]
    reloadTableFunc(function重置key方法):reloadTableFunc()
        reloadTableFunc(){
            console.log("reloadTableFunc进来");
            this.setState({reloadTableKey: false})
        }

    特别声明:
    reloadTableFunc:reloadTableFunc可用父类集成,统一方法
       

   页面显示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值