## Tabs
Divise des collections de données de types différents, mais reliées entre elles par un contexte ou un type global.
### Usage
Onglets basiques.
:::demo Tabs fournit un outil de sélection des onglets. Par défaut, le premier onglet est sélectionné et actif mais vous pouvez activer n'importe lequel en réglant l'attribut `value`.
```html
Utilisateur
Config
Rôle
Tâche
```
:::
### Style carte
Les onglets peuvent être stylisés comme des cartes.
:::demo Mettez `type` à `card` pour avoir des onglets avec un style de carte.
```html
Utilisateur
Config
Rôle
Tâche
```
:::
### Style carte avec bordure
Onglets avec style de carte et bordure.
:::demo Mettez `type` à `border-card`.
```html
Utilisateur
Config
Rôle
Tâche
```
:::
### Position des onglets
Vous pouvez utiliser `tab-position` pour régler la position des onglets.
:::demo Il y a quatre positions différentes: `tabPosition="left|right|top|bottom"`
```html
En haut
À droite
En bas
À gauche
Utilisateur
Config
Rôle
Tâche
```
:::
### Onglet personnalisé
Vous pouvez utiliser un slot pour customiser le label d'un onglet.
:::demo
```html
Route
Route
Config
Rôle
Tâche
```
:::
### Ajouter et supprimer des onglets
Seuls les onglets de type carte supportent l'ajout et la suppression.
:::demo
```html
{{item.content}}
```
:::
### Personnaliser le bouton d'ajout d'onglet
:::demo
```html
Ajouter un onglet
{{item.content}}
```
:::
### Attributs de Tabs
| Attribut | Description | Type | Valeurs acceptées | Défaut |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | --------------------- | ---------------------- |
| model-value / v-model | La valeur liée, nom de l'onglet sélectionné. | string | — | Nom du premier onglet. |
| type | Type de l'onglet. | string | card/border-card | — |
| closable | Si des onglets peuvent être supprimés. | boolean | — | false |
| addable | Si des onglets peuvent être ajoutés. | boolean | — | false |
| editable | Si des onglets peuvent être ajoutés et supprimés. | boolean | — | false |
| tab-position | Position des onglets. | string | top/right/bottom/left | top |
| stretch | Si la largeur des onglets s'adapte au conteneur. | boolean | - | false |
| before-leave | Fonction de hook avant de changer d'onglet. Si `false` est retourné ou qu'une `Promise` retournée et rejetée, le changement sera annulé. | Function(activeName, oldActiveName) | — | — |
### Évènements de Tabs
| Nom | Description | Paramètres |
| ---------- | ----------------------------------------------------------------------------------- | ----------------------- |
| tab-click | Se déclenche quand on clique sur un onglet. | clicked tab |
| tab-remove | Se déclenche quand on clique sur le bouton de suppression des onglets. | name of the removed tab |
| tab-add | Se déclenche quand on clique sur le bouton d'ajout des onglets. | — |
| edit | Se déclenche quand on clique sur les boutons d'ajout ou de suppression des onglets. | (targetName, action) |
### Attributs de Tab-pane
| Attribut | Description | Type | Valeurs acceptées | Défaut |
| -------- | --------------------------------------------------------------------------------------------------- | ------- | ----------------- | ---------------------------------------------------------------------- |
| label | Titre de l'onglet. | string | — | — |
| disabled | Si l'onglet est désactivé. | boolean | — | false |
| name | Identifiant correspondant au nom des onglets, utilisé par Tabs pour savoir quel est l'onglet actif. | string | — | Numéro de l'onglet dans l'ordre d'apparition, e.g. le premier est '1'. |
| closable | Si l'onglet est supprimable. | boolean | — | false |
| lazy | Si le contenu de l'onglet bénéficie du lazy-loading. | boolean | — | false |
### Tab-pane Slots
| Name | Description |
| ----- | ------------------ |
| - | Tab-pane's content |
| label | Tab-pane's label |