• /
  • 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

Switch

Les commutateurs sont utilisés comme bascules dans les filtres de contenu ou pour fournir à un utilisateur un moyen de sélectionner une préférence binaire.

Usage

import { Switch } from 'nr1'

Exemples

Basique

<div className="nr1-Docs-prettify">
<Switch onChange={(e) => alert(`Toggle to: ${e.target.checked}`)} />
<Switch
defaultChecked
onChange={(e) => alert(`Toggle to: ${e.target.checked}`)}
/>
</div>

Désactivé

<div className="nr1-Docs-prettify">
<Switch disabled />
<Switch defaultChecked disabled />
</div>

État de chargement

<div className="nr1-Docs-prettify">
<Switch loading />
<Switch defaultChecked loading />
</div>

Avec étiquette

<div className="nr1-Docs-prettify">
<Switch label="This is a label" />
<Switch disabled label="This is a label" />
</div>

Avec étiquette et informations

<Switch label="This is a label" info="Info value" />

Avec description

<Switch label="This is a label" description="Description value" />

Avec un message invalide

<Switch label="This is a label" invalid="Invalid message value" />

Composant contrôlé défini pour le chargement lors de l'exécution d'une requête

class Example extends React.Component {
constructor() {
super(...arguments);
this.state = {
checked: false,
loading: false,
};
this._onChange = this._onChange.bind(this);
}
_requestMock() {
return new Promise((resolve, reject) => {
setTimeout(resolve, 1000);
});
}
_onChange() {
let initialChecked;
this.setState(({ checked }) => {
initialChecked = checked;
return {
checked: !checked,
loading: true,
};
});
this._requestMock()
.then(() => {
// do some stuff
})
.catch(() => {
this.setState({
checked: initialChecked,
});
})
.finally(() => {
this.setState({
loading: false,
});
});
}
render() {
const { checked, loading } = this.state;
return (
<Switch
checked={checked}
label="This is a label"
loading={loading}
onChange={this._onChange}
/>
);
}
}

Composant contrôlé défini sur le chargement lors de l'exécution d'une requête qui revient à l'état non coché si la requête échoue

class Example extends React.Component {
constructor() {
super(...arguments);
this.state = {
checked: false,
loading: false,
};
this._onChange = this._onChange.bind(this);
}
_requestMock() {
return new Promise((resolve, reject) => {
setTimeout(reject, 1000);
});
}
_onChange() {
let initialChecked;
this.setState(({ checked }) => {
initialChecked = checked;
return {
checked: !checked,
loading: true,
};
});
this._requestMock()
.then(() => {
// do some stuff
})
.catch(() => {
this.setState({
checked: initialChecked,
});
})
.finally(() => {
this.setState({
loading: false,
});
});
}
render() {
const { checked, loading } = this.state;
return (
<Switch
checked={checked}
label="This is a label"
loading={loading}
onChange={this._onChange}
/>
);
}
}

Accessoires

ariaLabel

chaîne

Fournissez une étiquette descriptive pour ce contrôle, par exemple "Changer de vue".

checked

booléen

Détermine l'état coché du commutateur, où true correspond au commutateur semblant être allumé et une valeur false au commutateur semblant être éteint. Lorsque checked est défini, le composant Switch se comportera comme un composant contrôlé.

className

chaîne

Ajoute les noms de classe au composant. Doit être utilisé uniquement à des fins de positionnement et d'espacement.

defaultChecked

booléen

Définit la valeur cochée par défaut pour le commutateur lorsqu'il fonctionne comme un composant non contrôlé. c'est à dire. Lorsque l'accessoire checked n'est pas déjà stipulé.

description

chaîne

Message avec des instructions sur la façon de remplir le champ du formulaire.

disabled

booléen

Détermine si l'utilisateur peut interagir avec le commutateur ou s'il doit être rendu dans un état désactivé.

info

chaîne

Des informations supplémentaires peuvent être affichées dans une info-bulle à côté de l'étiquette.

invalid

booléen|chaîne

Lorsque cette option est vraie, elle définit le champ dans un état non valide, afin d'avertir l'utilisateur qu'une attention particulière est nécessaire sur ce champ particulier. Cette propriété peut être un champ boolean ou un string. Lorsqu'il s'agit d'un string, ainsi que de l'état invalide affiché, le texte sera affiché ci-dessous.

label

chaîne

Associez une étiquette de texte pour fournir à l'utilisateur un bref titre ou une explication pour le paramètre contrôlé par le commutateur. L'étiquette sera positionnée sur le côté gauche de l'interrupteur.

loading

booléen

Pour indiquer si une action est en cours, notamment dans le cas où elle prend plus d'une seconde à se terminer, vous devez afficher l'état de chargement. Le commutateur n'est pas interactif pendant le chargement. Si l'action associée à l'état de chargement échoue, la propriété cochée doit être réinitialisée à sa valeur précédente.

onChange

fonction

Rappel déclenché à chaque fois que l'utilisateur bascule le commutateur. L'état vérifié actuel peut être évalué dans le rappel via event.target.checked.

function (
event: React.ChangeEvent
)

spacingType

énumération[]

Propriété d'espacement. L'espacement est défini comme un uplet de zéro à quatre valeurs, qui suivent les mêmes conventions que les propriétés CSS comme margin ou padding. Pour omettre une valeur, utilisez SPACING_TYPE.OMIT.

<Array of
<One of

Switch.SPACING_TYPE.EXTRA_LARGE, Switch.SPACING_TYPE.LARGE, Switch.SPACING_TYPE.MEDIUM, Switch.SPACING_TYPE.NONE, Switch.SPACING_TYPE.OMIT, Switch.SPACING_TYPE.SMALL

>
>

style

objet

Style en ligne pour un style personnalisé. Doit être utilisé uniquement à des fins de positionnement et d'espacement.

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.