J'ai deux fichiers : Modal.js
y Users.js
. Users.js contient une table à laquelle est associée une requête API get. Dans la dernière colonne de la table se trouve une liste déroulante pour chaque ligne qui contient trois boutons : Afficher, Modifier et Supprimer. J'aimerais que le bouton Supprimer déclenche la modale contenant un message qui se lit en gros comme suit : "Êtes-vous sûr de vouloir supprimer l'utilisateur ?".
J'ai du mal à faire en sorte que la fenêtre modale se déclenche dans l'événement onClick du composant Supprimer dans l'interface utilisateur. Users.js
je vais joindre le code des deux fichiers ci-dessous.
Modal.js (Je n'ai pas encore modifié le contenu de la modale).
import {
CButton,
CModal,
CModalHeader,
CModalTitle,
CModalBody,
CModalFooter,
} from "@coreui/react";
const Modal = ({ visible, setVisible }) => {
return (
<>
<CModal visible={visible} onClose={() => setVisible(false)}>
<CModalHeader onClose={() => setVisible(false)}>
<CModalTitle>Modal title</CModalTitle>
</CModalHeader>
<CModalBody>Woohoo, you're reading this text in a modal!</CModalBody>
<CModalFooter>
<CButton color="secondary" onClick={() => setVisible(false)}>
Close
</CButton>
<CButton color="primary">Save changes</CButton>
</CModalFooter>
</CModal>
</>
);
};
export default Modal;
Utilisateurs.js
<CTableRow v-for="item in tableItems" key={rows.userID}>
<CTableDataCell className="text-center">{rows.userID}</CTableDataCell>
<CTableDataCell>{rows.firstName}</CTableDataCell>
<CTableDataCell>
<div>{rows.lastName}</div>
</CTableDataCell>
<CTableDataCell className="column-overflow">{rows.email}</CTableDataCell>
<CTableDataCell>{rows.role}</CTableDataCell>
<CTableDataCell>{rows.createdAt}</CTableDataCell>
<CTableDataCell>{rows.updatedAt}</CTableDataCell>
<CTableDataCell>
<strong>{rows.lastLogin}</strong>
</CTableDataCell>
<CTableDataCell>
<CDropdown>
<CDropdownToggle color="transparent"></CDropdownToggle>
<CDropdownMenu>
<CDropdownItem className="dropdown-item pointer">View</CDropdownItem>
<CDropdownItem className="dropdown-item pointer">Edit</CDropdownItem>
<CDropdownItem
className="dropdown-item text-danger pointer"
onClick={() => Modal()} <- Issue here
>
Delete
</CDropdownItem>
</CDropdownMenu>
</CDropdown>
</CTableDataCell>
</CTableRow>;
J'apprécierais toute aide à ce sujet. Faites-moi savoir si je peux donner d'autres codes (j'ai réduit le fichier Users.js car il fait un peu plus de 160 lignes et je ne veux pas encombrer, à l'exception de la ligne pour que vous puissiez avoir une idée de l'emplacement du bouton Supprimer).
Merci d'avance !