Layui offre des options étendues pour personnaliser l'apparence et la fonctionnalité de ses tables. Vous pouvez modifier pratiquement tous les aspects, des couleurs et des polices aux largeurs de colonne et affichage de données. Cette personnalisation est principalement réalisée via le paramètre Options de la méthode table.render()
.
Styling: Layui utilise CSS pour le style. Vous pouvez remplacer les styles par défaut en ajoutant vos propres règles CSS, ciblant les classes de table LayUI spécifiques. Par exemple, vous pouvez ajouter une classe personnalisée à votre élément de table, puis coiffer cette classe pour modifier les couleurs d'arrière-plan, la taille des polices, les styles de bordure, etc. N'oubliez pas d'inclure votre CSS personnalisé après le fichier LayUI CSS pour vous assurer que vos styles remplacent les défauts de défaut. Vous pouvez également utiliser le système de thème de Layui pour modifier rapidement l'apparence globale.
Fonctionnalité: La personnalisation s'étend au-delà de l'apparence. Vous pouvez contrôler les aspects comme si les colonnes sont triables, si les lignes sont sélectionnables, le type de données affichées dans chaque colonne (par exemple, texte, numéro, date) et le comportement des événements comme les clics de ligne. Cela se fait en définissant diverses options dans la méthode table.render()
. Par exemple, l'option cols
vous permet de définir des colonnes avec des types de données spécifiques, l'alignement, les largeurs et même les fonctions de rendu personnalisées. L'option page
contrôle le comportement de pagination, tandis que l'option limit
définit le nombre de lignes par page. La fonction de rappel done
vous permet d'exécuter du code une fois le tableau rendu, fournissant un crochet pour une manipulation supplémentaire.
Oui, vous pouvez ajouter des boutons ou des actions personnalisés aux lignes de table Layui. Ceci est généralement réalisé en utilisant l'option toolbar
dans la méthode table.render()
, ou en manipulant le DOM une fois le tableau rendu.
Utilisation de l'option toolbar
: cette option vous permet de définir un modèle pour les actions à afficher dans chaque ligne. Le modèle peut inclure des éléments HTML comme des boutons, des liens ou des composants encore plus complexes. Vous utilisez ensuite JavaScript pour gérer les événements déclenchés par ces actions. Par exemple:
<code class="javascript">table.render({ elem: '#myTable', url: '/data', cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: 'Name'}, {toolbar: '#barDemo'} // This line adds the toolbar ]], id: 'myTableId' });</code>
Où #barDemo
est un modèle contenant vos boutons personnalisés:
<code class="html"><script type="text/html" id="barDemo"> <a class="layui-btn layui-btn-xs" lay-event="edit">Edit <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">Delete </script></code>
Vous gérez ensuite l' edit
et delete
les événements à l'aide de l'événement tool
de la table Layui:
<code class="javascript">layui.table.on('tool(myTableId)', function(obj){ var data = obj.data; if(obj.event === 'edit'){ // Edit logic here } else if(obj.event === 'delete'){ // Delete logic here } });</code>
Manipuler le DOM: Alternativement, vous pouvez ajouter des boutons directement aux lignes de table après le rendu du tableau à l'aide de la manipulation JavaScript et Dom. Cela offre plus de flexibilité mais nécessite plus de codage manuel. Vous utiliseriez des sélecteurs pour cibler les lignes de table appropriées, puis ajoutez-y vos boutons personnalisés.
Les tables LayUI sont conçues pour s'intégrer de manière transparente aux sources de données backend. La clé est l'option url
dans la méthode table.render()
. Cette option spécifie l'URL de votre point de terminaison API Backend qui renvoie les données au format JSON.
Structure de données JSON: votre API backend doit renvoyer les données dans un format JSON que Layui peut comprendre. En règle générale, cela implique une structure avec une propriété data
contenant un tableau d'objets, où chaque objet représente une ligne dans le tableau. Les clés de ces objets correspondent aux noms field
que vous définissez dans vos colonnes de table. Par exemple:
<code class="json">{ "code": 0, //optional, success code "msg": "", //optional, success message "count": 100, //optional, total number of records "data": [ {"id": 1, "name": "John Doe", "age": 30}, {"id": 2, "name": "Jane Smith", "age": 25} ] }</code>
Définition de l'option url
: Dans votre code JavaScript, vous définissez l'option url
pour pointer sur votre API backend:
<code class="javascript">table.render({ elem: '#myTable', url: '/api/getData', // Your backend API endpoint cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: 'Name'}, {field: 'age', title: 'Age'} ]] });</code>
Layui fera ensuite une demande AJAX à cette URL, récupérera les données et remplira le tableau en conséquence. Assurez-vous que votre API backend est correctement configurée pour gérer la demande et renvoyer les données au format JSON attendu. Le traitement des erreurs doit également être mis en œuvre pour gérer les problèmes de réseau potentiels ou les erreurs d'API.
Layui fournit une prise en charge intégrée pour la pagination et le tri. Vous pouvez activer et personnaliser ces fonctionnalités à l'aide d'options dans la méthode table.render()
.
Pagination: La pagination est activée en définissant l'option page
sur true
. Vous pouvez personnaliser davantage la pagination en définissant des options telles que limit
(lignes par page), limits
(tableau des lignes sélectionnables par page) et layout
(contrôles quels éléments de pagination sont affichés).
<code class="javascript">table.render({ elem: '#myTable', url: '/api/getData', page: true, // Enables pagination limit: 10, // 10 rows per page limits: [10, 20, 30], // Options for rows per page layout: ['prev', 'page', 'next', 'limit', 'skip'] // Customize pagination elements });</code>
Tri: LayUI prend en charge le tri côté client par défaut si vous spécifiez l'option sort
dans la définition de votre colonne. Pour le tri côté serveur, vous devez gérer la logique de tri dans votre API backend. Lorsqu'un utilisateur clique sur un en-tête de colonne triable, LayUi ajoute des paramètres de tri (par exemple, sort
et order
) à l'URL spécifiée dans l'option url
. Votre API backend doit interpréter ces paramètres et renvoyer les données triées en conséquence.
<code class="javascript">table.render({ elem: '#myTable', url: '/api/getData', cols: [[ {field: 'id', title: 'ID', sort: true}, // Enables sorting for this column {field: 'name', title: 'Name', sort: true} ]] });</code>
N'oubliez pas d'ajuster votre API backend pour gérer les paramètres sort
et order
envoyés par LayUI lorsque le tri est effectué. Cela garantit que les données correctes sont renvoyées et affichées dans le tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!