如何在React Admin的create按钮旁新增bulk upload批量上传按钮
React Admin 列表页新增批量上传按钮实现方案
要在默认Create按钮旁新增批量上传按钮,直接重写列表页的顶部操作栏即可,具体实现步骤如下:
- 首先自定义批量上传按钮组件,绑定跳转逻辑
import { Button } from 'react-admin'; import ContentUpload from '@mui/icons-material/ContentUpload'; import { useNavigate } from 'react-router-dom'; const BulkUploadButton = () => { const navigate = useNavigate(); return ( <Button label="批量上传" onClick={() => navigate('/custom-upload-form')} startIcon={<ContentUpload />} /> ); };
/custom-upload-form替换为你自己的上传表单页面路由。
- 重写列表页的顶部操作栏组件,同时保留默认的Create按钮
import { List, CreateButton, TopToolbar } from 'react-admin'; const CustomListActions = () => ( <TopToolbar> <CreateButton /> <BulkUploadButton /> </TopToolbar> );
- 给对应的资源List组件绑定自定义的操作栏属性
export const YourResourceList = () => ( <List actions={<CustomListActions />}> {/* 原有列表的Datagrid、字段等配置保持不变 */} </List> );
实现后按钮位置参考:
如果需要控制按钮可见权限,直接在CustomListActions里加对应权限判断逻辑即可,上传表单可以用React Admin的原生Create组件或者完全自定义页面实现文件上传校验、提交逻辑。
内容的提问来源于stack exchange,提问作者Rafiq
相关产品推荐
相关产品推荐

