Maison > interface Web > Tutoriel Layui > Comment personnaliser l'apparence et la fonctionnalité de la table de Layui?

Comment personnaliser l'apparence et la fonctionnalité de la table de Layui?

Karen Carpenter
Libérer: 2025-03-12 13:34:19
original
976 Les gens l'ont consulté

Comment personnaliser l'apparence et la fonctionnalité de la table de Layui?

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.

Puis-je ajouter des boutons ou des actions personnalisés aux lignes de table Layui?

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>
Copier après la connexion

#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>
Copier après la connexion

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>
Copier après la connexion

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.

Comment intégrer les tables LayUI avec mes données backend existantes?

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>
Copier après la connexion

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>
Copier après la connexion

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.

Comment puis-je implémenter la pagination et le tri dans ma table Layui?

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>
Copier après la connexion

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal