You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/components/DsfrDataTable/DsfrDataTable.md
+37-6Lines changed: 37 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,11 @@ Le composant `DsfrDataTable` est un élément puissant et polyvalent pour affich
6
6
7
7
🏅 La documentation sur le tableau sur le [DSFR](https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/tableau/)
8
8
9
-
<VIconname="vi-file-type-storybook" /> La story sur le tableau sur le storybook de [VueDsfr](https://storybook.vue-ds.fr/?path=/docs/composants-dsfrdatatable--docs)
9
+
<VIconname="vi-file-type-storybook" /> La story sur le tableau de données sur le storybook de [VueDsfr](https://storybook.vue-ds.fr/?path=/docs/composants-dsfrdatatable--docs)
10
+
11
+
## 📐 Structure
12
+
13
+
Le composant `DsfrDataTable` s'utilise pour afficher des données structurées sous forme de tableau. Il prend en charge le tri des colonnes, la pagination des lignes, et l'ajout de boutons ou d'icônes pour effectuer des actions spécifiques sur les données.
10
14
11
15
## Props 🛠️
12
16
@@ -17,18 +21,45 @@ Le composant `DsfrDataTable` est un élément puissant et polyvalent pour affich
17
21
|`rows`|`Array<DsfrDataTableRowProps \| string[] \| DsfrDataTableCellProps[]>`|`[]`|| Les données de chaque rangée dans le tableau. |
18
22
|`rowKey`|`string \| Function`|`undefined`|| Une clé unique pour chaque rangée, utilisée pour optimiser la mise à jour du DOM. |
19
23
|`currentPage`|`number`|`1`|| La page actuelle dans la pagination du tableau. |
20
-
|`resultsDisplayed`|`number`|`10`|| Le nombre de résultats affichés par page dans la pagination. |
24
+
|`selectableRows`|`boolean`|`false`| Si `true`, permet la sélection des lignes via des cases à cocher. |
25
+
|`sortableRows`|`boolean \| string[]`|`false`| Si `true`, permet le tri des lignes selon chaque colonne du header. Peut être un tableau de clés pour spécifier les colonnes triables. |
26
+
|`sorted`|`string`|**Obligatoire**| Clé de la colonne actuellement triée. |
27
+
|`sortFn`|`(a: unknown, b: unknown) => number`|`defaultSortFn`| Fonction de tri personnalisée pour les lignes du tableau. |
28
+
|`verticalBorders`|`boolean`|`false`| Si `true`, affiche des bordures verticales entre les colonnes. |
29
+
|`bottomCaption`|`boolean`|`false`| Si `true`, affiche une légende en bas du tableau. |
30
+
|`noCaption`|`boolean`|`false`| Si `true`, supprime la légende du tableau. |
31
+
|`pages`|`Page[]`|`undefined`| Liste des pages pour la pagination. Si non définie, les pages sont générées automatiquement. |
32
+
|`pagination`|`boolean`|`false`| Si `true`, active la pagination des lignes du tableau. |
33
+
|`paginationOptions`|`number[]`|`[5, 10, 20]`| Options disponibles pour le nombre de lignes par page. |
34
+
|`currentPage`|`number`|`1`| Numéro de la page actuellement affichée. |
35
+
|`rowsPerPage`|`number`|`10`| Nombre de lignes à afficher par page. |
36
+
|`bottomActionBarClass`|`string \| Record<string, boolean> \| string[]`|`undefined`| Classe CSS pour la barre d'actions en bas du tableau. |
37
+
|`paginationWrapperClass`|`string \| Record<string, boolean> \| string[]`|`undefined`| Classe CSS pour l'élément englobant la pagination. |
|`update:current-page`|| Émis lors du changement du numéro de page (dans le composant pagination intégré). |
44
+
|`update:rows-per-page`|| Émis lors du changement du nombre de lignes à afficher par page (dans le composant pagination intégré). |
45
+
|`update:selection`|| Émis lors du changement de la sélection de lignes. |
46
+
|`update:sorted-by`|| Émis lors du changement de l’identifiant de la colonne à trier. |
47
+
|`update:sorted-desc`|| Émis lors du changement du sens de tri. |
48
+
49
+
Vous pouvez donc utiliser `v-model` pour :
50
+
51
+
- selection
52
+
- rowsPerPage
53
+
- currentPage
54
+
- sortedBy
55
+
- sortedDesc
27
56
28
57
## 🧩 Slots
29
58
30
-
-**`header`**: Ce slot permet de personnaliser les en-têtes du tableau. Par défaut, il utilise [`DsfrDataTableHeaders`](./DsfrDataTableHeader.md) avec les props `headers`.
31
59
-**Slot par défaut**: Utilisé pour le corps du tableau. Par défaut, il affiche les rangées de données via `DsfrDataTableRow`.
60
+
-**`header`** : Permet de personnaliser le rendu des en-têtes de colonne.
61
+
-**`cell`** : Permet de personnaliser le contenu des cellules.
62
+
-**`pagination`** : Permet de personnaliser la pagination affichée sous le tableau.
0 commit comments