Heim > Fragen und Antworten > Hauptteil
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> ); }