merisia-table
<merisia-table>Tableau de données accessible avec caption, tri par colonne (clic sur l'en-tête), et gestion de l'état vide.
Démos
Avec tri de colonnes
Cliquez sur les en-têtes pour trier par ordre croissant (↑) ou décroissant (↓).
<merisia-table id="table" caption="Mes trajets"></merisia-table>
<script>
const table = document.getElementById('table');
table.columns = [
{ key: 'name', label: 'Nom', sortable: true, sortType: 'string' },
{ key: 'mode', label: 'Mode', sortable: true, sortType: 'string' },
{ key: 'distance', label: 'Distance (km)', align: 'end', sortable: true, sortType: 'number' },
];
table.rows = [
{ name: 'Domicile → Bureau', mode: 'Vélo', distance: 4.2 },
{ name: 'Bureau → Épicerie', mode: 'Marche', distance: 0.8 },
];
</script>
État vide
<merisia-table caption="Aucun trajet"
empty-text="Vous n'avez enregistré aucun trajet."></merisia-table>
Propriétés
| Propriété | Attribut | Type | Défaut | Description |
|---|---|---|---|---|
| MerisiaTable (propres) | ||||
| caption | caption | string | '' |
Titre du tableau (balise <caption> accessible)
|
| columns | – | TableColumn[] | [] |
Définition des colonnes :
{ key, label, align?, sortable?, sortType?, render? } (propriété JS
uniquement)
|
| rows | – | Record<string, unknown>[] | [] |
Données des lignes, indexées par key de colonne (propriété JS
uniquement)
|
| emptyText | empty-text | string | 'Aucune donnée à afficher.' | Texte affiché quand la liste de lignes est vide (i18n) |
| MerisiaElement (hérités) | ||||
| id | id | string | auto-généré | Identifiant unique du composant |
| lang | lang | string | 'fr' | Langue pour les messages internes (i18n) |
| width | width | number | – |
Largeur maximale en caractères : max-width: calc(N ch + 1.5rem)
|
Ressources externes
Import
import '@merisia-inc/merisia-components/table';