• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Modal

Les modaux sont utilisés pour les actions de création, d'ajout, de modification ou de suppression en une seule étape. Ils sont également utilisés pour afficher des métadonnées supplémentaires sur un écran ou un objet spécifique sur l'écran.

Usage

import { Modal } from 'nr1'

Exemples

Basique

class MyNerdlet extends React.PureComponent {
constructor() {
super(...arguments);
this._onClose = this._onClose.bind(this);
this.state = {
hidden: true,
};
}
_onClose() {
this.setState({ hidden: true });
}
render() {
return (
<>
<Button onClick={() => this.setState({ hidden: false })}>
Open modal
</Button>
<Modal hidden={this.state.hidden} onClose={this._onClose}>
<HeadingText type={HeadingText.TYPE.HEADING_3}>Modal</HeadingText>
<BlockText
spacingType={[
BlockText.SPACING_TYPE.EXTRA_LARGE,
BlockText.SPACING_TYPE.OMIT,
]}
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Dictumst
quisque sagittis purus sit amet.
</BlockText>
<Button onClick={this._onClose}>Close</Button>
</Modal>
</>
);
}
}

Démontage

class MyNerdlet extends React.PureComponent {
constructor() {
super(...arguments);
this._onClick = this._onClick.bind(this);
this._onClose = this._onClose.bind(this);
this._onHideEnd = this._onHideEnd.bind(this);
this.state = {
hidden: true,
mounted: false,
};
}
_onClick() {
this.setState({
hidden: false,
mounted: true,
});
}
_onClose() {
this.setState({ hidden: true });
}
_onHideEnd() {
this.setState({ mounted: false });
}
render() {
return (
<>
<Button onClick={this._onClick}>Open modal</Button>
{this.state.mounted && (
<Modal
hidden={this.state.hidden}
onClose={this._onClose}
onHideEnd={this._onHideEnd}
>
<HeadingText type={HeadingText.TYPE.HEADING_3}>Modal</HeadingText>
<BlockText
spacingType={[
BlockText.SPACING_TYPE.EXTRA_LARGE,
BlockText.SPACING_TYPE.OMIT,
]}
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
Dictumst quisque sagittis purus sit amet.
</BlockText>
<Button onClick={this._onClose}>Close</Button>
</Modal>
)}
</>
);
}
}

Accessoires

ariaLabelledBy

chaîne

Transmettez la chaîne du contenu textuel qui devrait mieux décrire le but du modal pour être correctement annoncé par les lecteurs d'écran.

const modalLabelId = 'my-nerdlet.my-modal';
<Modal ariaLabelledBy={modalLabelId}>
<span id={modalLabelId}>
<HeadingText>My modal</HeadingText>
</span>
</Modal>;

children

nœud

Contenu à rendre à l'intérieur du modal.

className

chaîne

Ajoute les noms de classe au composant.

hidden

booléen

Si true, le modal est masqué.

onClose

OBLIGATOIRE
fonction

Rappel déclenché lors du clic sur le bouton de fermeture du Modal.

onHideEnd

fonction

Rappel déclenché lorsque le modal termine l'animation de fermeture. Utilisez ceci pour démonter le composant modal. Cela garantit que l'animation de fermeture fonctionne correctement.

function render() {
<>
{this.state.mounted && (
<Modal
hidden={this.state.hidden}
onHideEnd={() => this.setState({ mounted: false })}
onClose={() => this.setState({ hidden: true })}
>
<h1>Modal</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
</Modal>
)}
</>;
}

onHideStart

fonction

Rappel déclenché lorsque le modal démarre l'animation de fermeture.

onShowEnd

fonction

Rappel déclenché lorsque le Modal termine l'animation d'ouverture.

onShowStart

fonction

Rappel déclenché lorsque le Modal démarre l'animation d'ouverture.

style

objet

Style en ligne pour un style personnalisé.

testId

chaîne

Ajoute un attribut data-test-id. Utilisez-le pour cibler le composant dans les tests unitaires et E2E. Pour qu'un identifiant de test soit valide, préfixez-le avec votre identifiant nerdpack, suivi d'un point. Par exemple, my-nerdpack.some-element.

Remarque : vous ne verrez peut-être pas l'attribut data-test-id car ils sont supprimés du DOM. Pour les déboguer, transmettez un paramètre de requête e2e-test à l'URL.

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.