P粉6429205222023-08-18 13:11:55
你可以為模態框建立一個更通用的元件,接受props來自訂每輛車的內容
建立一個名為CarModal
的新元件,接受carImage
、carTitle
和carDescription
為props。
現在你可以在Cars
組件中多次使用這個組件(你想要顯示汽車的組件)來為每輛汽車創建單獨的模態框,你只需要為一個傳遞適當的props
// 导入 ... const style = { // ... }; function CarModal({ carImage, carTitle, carDescription }) { const [open, setOpen] = React.useState(false); const handleOpen = () => setOpen(true); const handleClose = () => setOpen(false); return ( <div> <Button onClick={handleOpen}>打开模态框</Button> <Modal open={open} onClose={handleClose} aria-labelledby="modal-modal-title" aria-describedby="modal-modal-description" > <Box sx={style}> <Typography id="modal-modal-title" variant="h6" component="h2"> {carTitle} </Typography> <Typography id="modal-modal-description" sx={{ mt: 2 }}> {carDescription} </Typography> <img src={carImage} alt={carTitle} /> </Box> </Modal> </div> ); }
export default function Cars() { // 导入 carModal // ... return ( <div> <CarModal carImage={Pagani} carTitle="Pagani汽车" carDescription="这是Pagani汽车的描述。" /> <CarModal carImage={Pagani1} carTitle="另一辆Pagani汽车" carDescription="这是另一辆Pagani汽车的描述。" /> // ... </div> ); }