From 9153cfe458ab45c8e5b3594982edf346eddaba22 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 07 六月 2025 08:50:38 +0800 Subject: [PATCH] 新增编辑页 --- rsf-admin/src/page/components/PageEditDrawer.jsx | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 56 insertions(+), 0 deletions(-) diff --git a/rsf-admin/src/page/components/PageEditDrawer.jsx b/rsf-admin/src/page/components/PageEditDrawer.jsx new file mode 100644 index 0000000..26b3d49 --- /dev/null +++ b/rsf-admin/src/page/components/PageEditDrawer.jsx @@ -0,0 +1,56 @@ +import React, { useState, useRef, useEffect, useMemo, useCallback, useTransition } from "react"; +import { useTranslate } from 'react-admin'; +import { Drawer, Box, Typography, Card, IconButton, Stack } from '@mui/material'; +import CloseIcon from '@mui/icons-material/Close'; + +const PageEditDrawer = (props) => { + const translate = useTranslate(); + const { + title = 'Drawer', + drawerVal, + setDrawerVal, + closeCallback, + children + } = props; + + const handleClose = () => { + setDrawerVal(null); + if (closeCallback) { + closeCallback(); + } + } + + return ( + <Drawer + variant="persistent" + open={!!drawerVal} + anchor="right" + onClose={handleClose} + PaperProps={{ sx: { width: '90%' } }} + > + {!!drawerVal && ( + <> + <Card> + <Box pt={5}> + <Stack direction="row" p={2}> + <Typography variant="h6" flex="1"> + {translate(title)} + </Typography> + <IconButton onClick={handleClose} size="small"> + <CloseIcon /> + </IconButton> + </Stack> + </Box> + </Card> + <Card sx={{mt: '1em'}}> + <Box> + {children} + </Box> + </Card> + </> + )} + </Drawer> + ) +} + +export default PageEditDrawer; \ No newline at end of file -- Gitblit v1.9.1