antd Pro ProFormList外部控制增加删除
在 Ant Design Pro 中使用 ProFormList
时,可以通过控制其 field
数组来实现外部控制增加和删除。以下是一个简单的例子:
import React, { useState } from 'react';
import { Button, ProFormList } from '@ant-design/pro-forms';
const App = () => {
const [formList, setFormList] = useState([{ key: 0 }]);
// 增加表单项
const addItem = () => {
setFormList([...formList, { key: formList.length }]);
};
// 删除表单项
const removeItem = (index) => {
setFormList(formList.filter((item, i) => i !== index));
};
return (
<>
<ProFormList
name="users"
label="用户列表"
initialValue={formList}
creatorButtonText="添加用户"
>
{(fields, { add, remove }) => (
<>
{fields.map((field, index) => (
<div key={field.key}>
{/* 你的表单项 */}
<Button onClick={() => remove(field.name)}>删除</Button>
</div>
))}
<Button onClick={add}>添加用户</Button>
</>
)}
</ProFormList>
<Button onClick={addItem}>外部添加</Button>
</>
);
};
export default App;
在这个例子中,addItem
和 removeItem
函数分别用来从外部增加和删除 ProFormList
中的条目。ProFormList
的 initialValue
用来设置初始表单项,add
和 remove
函数由 ProFormList
提供,用于管理内部字段。
评论已关闭