antd-procomponent中编辑表格动态数据设置的使用
在Ant Design Pro中,使用编辑表格组件(EditableProTable)时,可以动态设置表格数据。以下是一个简单的例子,展示如何动态设置数据:
import React, { useState } from 'react';
import { EditableProTable } from '@ant-design/pro-components';
const App = () => {
// 定义一个state来保存表格数据
const [dataSource, setDataSource] = useState([
{
id: '1',
name: 'John Doe',
age: 32,
},
// ...可以添加更多数据
]);
// 定义一个函数来更新数据
const updateData = (index, updatedData) => {
setDataSource(dataSource.map((item, i) => (i === index ? { ...item, ...updatedData } : item)));
};
// 定义一个函数来添加新数据
const addData = newData => {
const newId = `id${dataSource.length + 1}`;
setDataSource([...dataSource, { id: newId, ...newData }]);
};
return (
<EditableProTable
rowKey="id"
headerTitle="用户列表"
maxLength={5}
editable={{
type: 'multiple',
}}
columns={[
{
title: '名字',
dataIndex: 'name',
formItemProps: {
rules: [
{
required: true,
message: '此项为必填项',
},
],
},
},
{
title: '年龄',
dataIndex: 'age',
},
// ...定义更多列
]}
dataSource={dataSource}
onSave={(row, index) => {
updateData(index, row);
}}
onDelete={(row, index) => {
setDataSource(dataSource.filter((item, i) => i !== index));
}}
toolBarRender={() => [
<Button key="button" type="primary" onClick={() => addData({ name: '新用户', age: 30 })}>
添加用户
</Button>,
]}
/>
);
};
export default App;
在这个例子中,我们使用了React的useState钩子来管理表格数据源(dataSource)。updateData
函数负责更新数组中特定索引的数据,而addData
函数负责向数据源中添加新数据。这样,你就可以根据实际需求动态地设置和更新表格数据。
评论已关闭