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

TileGroup

Usage

import { TileGroup } from 'nr1'

Exemples

Groupe de tuiles de base

<TileGroup>
<Tile onClick={console.log}>Tile 1</Tile>
<Tile onClick={console.log}>Tile 2</Tile>
<Tile onClick={console.log}>Tile 3</Tile>
</TileGroup>

Groupe de tuiles avec type de petit espace

<TileGroup gapType={TileGroup.GAP_TYPE.SMALL}>
<Tile onClick={console.log}>Tile 1</Tile>
<Tile onClick={console.log}>Tile 2</Tile>
<Tile onClick={console.log}>Tile 3</Tile>
</TileGroup>

Groupe de tuiles avec 3 colonnes

<TileGroup tileWidth="4fr">
{Array.from({ length: 12 }).map((_, index) => (
<Tile onClick={console.log}>Tile {index + 1}</Tile>
))}
</TileGroup>

Groupe de tuiles avec largeur de tuile personnalisée

<TileGroup tileWidth={120}>
{Array.from({ length: 12 }).map((_, index) => (
<Tile onClick={console.log}>Tile {index + 1}</Tile>
))}
</TileGroup>

Tuiles sélectionnables

<TileGroup selectionType={TileGroup.SELECTION_TYPE.SINGLE} tileWidth={120}>
{Array.from({ length: 12 }).map((_, index) => (
<Tile onClick={console.log}>Tile {index + 1}</Tile>
))}
</TileGroup>

Tuiles sélectionnables avec tuile par défaut cochée

<TileGroup
defaultValue="tile-0"
selectionType={TileGroup.SELECTION_TYPE.SINGLE}
tileWidth={120}
>
{Array.from({ length: 12 }).map((_, index) => (
<Tile value={`tile-${index}`} onClick={console.log}>
Tile {index + 1}
</Tile>
))}
</TileGroup>

Tuiles sélectionnables contrôlées

class MyComponent extends React.PureComponent {
constructor() {
super(...arguments);
this.state = {
checkedTile: 'tile-0',
};
this._onChange = this._onChange.bind(this);
}
_onChange(evt, tileValue) {
this.setState({ checkedTile: tileValue });
}
render() {
const { checkedTile } = this.state;
return (
<TileGroup
value={checkedTile}
onChange={this._onChange}
tileWidth={120}
selectionType={TileGroup.SELECTION_TYPE.SINGLE}
>
{Array.from({ length: 12 }).map((_, index) => (
<Tile
sizeType={Tile.SIZE_TYPE.SMALL}
value={`tile-${index}`}
key={index}
onClick={console.log}
>
Tile {index + 1}
</Tile>
))}
</TileGroup>
);
}
}

Tuiles à sélection multiple

<TileGroup selectionType={TileGroup.SELECTION_TYPE.MULTIPLE} tileWidth={120}>
{Array.from({ length: 12 }).map((_, index) => (
<Tile onClick={console.log}>Tile {index + 1}</Tile>
))}
</TileGroup>

Tuiles à sélection multiple contrôlées

class MyComponent extends React.PureComponent {
constructor() {
super(...arguments);
this.state = {
checkedTiles: [],
};
this._onChange = this._onChange.bind(this);
}
_onChange(evt, tileValue, checked) {
this.setState((state) => {
return {
checkedTiles: checked
? [...state.checkedTiles, tileValue]
: state.checkedTiles.filter((value) => value !== tileValue),
};
});
}
render() {
const { checkedTiles } = this.state;
return (
<TileGroup
value={checkedTiles}
onChange={this._onChange}
tileWidth={120}
selectionType={TileGroup.SELECTION_TYPE.MULTIPLE}
>
{Array.from({ length: 12 }).map((_, index) => (
<Tile
sizeType={Tile.SIZE_TYPE.SMALL}
value={`tile-${index}`}
key={index}
onClick={console.log}
>
Tile {index + 1}
</Tile>
))}
</TileGroup>
);
}
}

Accessoires

children

OBLIGATOIRE
nœud

Tuiles à afficher.

className

chaîne

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

defaultValue

chaîne|nombre|chaîne[]|nombre[]

La tuile initiale qui doit être vérifiée.

gapType

énum.

Taille de l'espace entre les tuiles.<One of

TileGroup.GAP_TYPE.MEDIUMTileGroup.GAP_TYPE.SMALL
>

onChange

fonction

Fonction appelée lorsqu'une tuile est cochée ou décochée.

function (
event: React.MouseEvent,

Event source of the callback.

tileValue: any,

The value of the tile.

checked: boolean

The new checked state.

)

selectionType

énum.

<One of

TileGroup.SELECTION_TYPE.MULTIPLE, TileGroup.SELECTION_TYPE.NONE, TileGroup.SELECTION_TYPE.SINGLE,

>

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

TileGroup.SPACING_TYPE.EXTRA_LARGE, TileGroup.SPACING_TYPE.LARGE, TileGroup.SPACING_TYPE.MEDIUM, TileGroup.SPACING_TYPE.NONE, TileGroup.SPACING_TYPE.OMIT, TileGroup.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.

tileWidth

chaîne|nombre

Représente la largeur des colonnes. Les colonnes ont toujours la même largeur. Il peut s'agir de l'un des types suivants :

  • 'YYpx': où YY est un nombre, représente la largeur minimale des colonnes en pixels. Lorsque les tuiles ne rentrent pas dans la largeur disponible, elles seront enveloppées dans une nouvelle rangée.
  • 'YYfr': où YY est un nombre, il représente une fraction de la largeur disponible dans une grille de 12 fractions ; par instance, un groupe de tuiles avec une largeur de tuile de '6fr', affichera toujours deux colonnes (12fr/6fr = 2) où chaque tuile occupera 50 % de la largeur disponible.

value

chaîne|nombre|chaîne[]|nombre[]

La ou les tuiles avec la valeur correspondante seront vérifiées. Peut être une valeur unique ou un éventail de valeurs lorsque le type de sélection est multiple. S'il est défini, il transforme le composant en un composant contrôlé.

Droits d'auteur © 2025 New Relic Inc.

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