Maison > Questions et réponses > le corps du texte
P粉6429205222023-08-18 13:11:55
Vous pouvez créer un composant plus générique pour le modal qui accepte les accessoires pour personnaliser le contenu de chaque voiture
Créez un accessoire appelé CarModal
的新组件,接受carImage
、carTitle
和carDescription
.
Vous pouvez désormais utiliser ce composant plusieurs fois à l'intérieur du composant Cars
(celui où vous souhaitez afficher les voitures) pour créer des modaux séparés pour chaque voiture, il vous suffit de passer les accessoires appropriés pour une
// 导入 ... 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> ); }