使用:
页面只需引入对应模块: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可用父类集成,统一方法
页面显示: