Bagaimanakah saya boleh membuat modal berasingan dengan penerangan yang berbeza?
P粉832490510
P粉832490510 2023-08-17 16:25:08
0
1
484
<p>Saya sedang membuat tapak web pengedar kereta dan apabila pengguna mengklik butang di bawah gambar kereta, saya mahu modal memaparkan maklumat tentang kereta itu sahaja. Setakat ini saya telah berjaya mencipta beberapa butang modal, tetapi semuanya memaparkan maklumat yang sama. </p> <p>Bagaimanakah cara saya mencipta modal berasingan dengan maklumat berbeza? </p> <pre class="brush:js;toolbar:false;">import "./Modal.css"; import Pagani daripada '../Images/pagani2.jpg'; import Pagani1 daripada '../Images/pagani.jpg'; import p1 daripada '../Images/p1.jpg'; import r342 daripada '../Images/r342.jpg'; import * sebagai React daripada 'react'; import Box daripada '@mui/material/Box'; import Butang daripada '@mui/material/Button'; import Tipografi daripada '@mui/bahan/Tipografi'; import Modal daripada '@mui/material/Modal'; gaya const = { kedudukan: 'mutlak', atas: '50%', kiri: '50%', ubah: 'terjemah(-50%, -50%)', lebar: 400, bgcolor: 'background.paper', sempadan: '2px pepejal #000', boxshadow: 24, hlm: 4, }; eksport fungsi lalai BasicModal() { const [open, setOpen] = React.useState(false); const handleBuka = ​​() => const handleClose = () => kembali ( <div> <Button onClick={handleOpen}>Buka kotak modal</Button> <Modal buka={open} onClose={handleClose} aria-labelledby="modal-modal-title" aria-describedby="deskripsi-modal-modal" > <Kotak sx={style}> <Typography id="modal-modal-title" variant="h6" component="h2"> Teks dalam kotak modal </Tipografi> <Typography id="modal-modal-description" sx={{ mt: 2 }}> Duis mollis, est non commodo luctus, nisi erat portitor ligula. </Tipografi> </Kotak> </Modal> </div> ); </pra>
P粉832490510
P粉832490510

membalas semua(1)
P粉642920522

Anda boleh mencipta komponen yang lebih generik untuk modal yang menerima prop untuk menyesuaikan kandungan setiap kereta
Buat prop yang dipanggil CarModal的新组件,接受carImagecarTitlecarDescription.

Kini anda boleh menggunakan komponen ini beberapa kali di dalam komponen Cars (yang mana anda ingin memaparkan kereta) untuk mencipta mod berasingan bagi setiap kereta, anda hanya perlu melepasi prop yang sesuai untuk satu

// 导入 ...

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>
  );
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan