


Comment configurer la table dans Vue pour qu'elle s'allonge à mesure que le contenu augmente
En tant que l'un des frameworks les plus populaires en matière de développement front-end, Vue.js est très approprié pour créer rapidement des applications Web dynamiques et interactives. Parmi eux, le besoin d'afficher les données dans des tableaux est très courant, mais comment rendre les tableaux plus flexibles à mesure que le contenu augmente est également un sujet qui mérite d'être exploré.
Dans Vue.js, nous pouvons utiliser de nombreuses manières différentes pour que le tableau s'allonge à mesure que le contenu augmente, notamment en utilisant des styles dynamiques, en utilisant des propriétés calculées et en écoutant les modifications des données. Ensuite, cet article présentera en détail les scénarios spécifiques de mise en œuvre et d’utilisation de ces méthodes.
1. Utiliser des styles dynamiques
Une façon courante d'agrandir le tableau avec le contenu consiste à utiliser des styles dynamiques. La méthode d'implémentation spécifique consiste à envelopper un div conteneur en dehors de la table, puis à définir la hauteur du div conteneur dans le composant Vue en fonction de la hauteur de la table et des changements de contenu, afin d'obtenir l'effet d'allongement de la table. avec le contenu.
Voici un exemple simple :
<template> <div class="table-wrapper"> <table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> <tr v-for="(item, index) in list" :key="index"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.gender }}</td> </tr> </tbody> </table> </div> </template> <script> export default { data() { return { list: [ { name: "张三", age: 20, gender: "男" }, { name: "李四", age: 22, gender: "女" }, { name: "王五", age: 18, gender: "男" } ] }; }, mounted() { this.computeTableHeight(); }, methods: { computeTableHeight() { const table = document.querySelector(".table-wrapper table"); const wrapper = document.querySelector(".table-wrapper"); const height = table.clientHeight; wrapper.style.height = `${height}px`; } } }; </script> <style> .table-wrapper { overflow-y: auto; max-height: 400px; } </style>
Dans l'exemple ci-dessus, nous enveloppons un conteneur .table-wrapper
à l'extérieur de la table et définissons la hauteur maximale du conteneur à 400px. Dans la fonction de hook monté du composant Vue, nous calculons la hauteur de la table et définissons la hauteur du conteneur pour que la table s'allonge à mesure que le contenu augmente. .table-wrapper
,并且设置了容器的最大高度为 400px。在 Vue 组件的 mounted 钩子函数中,我们通过计算表格的高度并设置容器的高度,来让表格随内容的增加变长。
需要注意的是,采用这种方式需要避免过多的计算,否则可能会降低页面的性能。
二、使用计算属性
另一种让表格随内容变长的方法是使用计算属性。这种方式通常适用于表格数据变化比较频繁的场景,通过动态计算表格的高度,来让表格随内容变长。
下面是一个示例(假设 list 中的数据会动态变化):
<template> <div class="table-wrapper" :style="{ height: tableHeight + 'px' }"> <table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> <tr v-for="(item, index) in list" :key="index"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.gender }}</td> </tr> </tbody> </table> </div> </template> <script> export default { data() { return { list: [ { name: "张三", age: 20, gender: "男" }, { name: "李四", age: 22, gender: "女" }, { name: "王五", age: 18, gender: "男" } ] }; }, computed: { tableHeight() { const table = document.querySelector(".table-wrapper table"); const height = table ? table.clientHeight : 0; return height; } } }; </script> <style> .table-wrapper { overflow-y: auto; max-height: 400px; } </style>
在上面这个示例中,我们使用了计算属性 tableHeight
来动态计算表格的高度,然后在容器 div 的样式中使用 :style="{ height: tableHeight + 'px' }"
<template> <div class="table-wrapper" :style="{ height: tableHeight + 'px' }"> <table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> <tr v-for="(item, index) in list" :key="index"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.gender }}</td> </tr> </tbody> </table> </div> </template> <script> export default { data() { return { list: [ { name: "张三", age: 20, gender: "男" }, { name: "李四", age: 22, gender: "女" }, { name: "王五", age: 18, gender: "男" } ] }; }, computed: { tableHeight() { const table = document.querySelector(".table-wrapper table"); const height = table ? table.clientHeight : 0; return height; } }, watch: { list() { this.$nextTick(() => { this.computeTableHeight(); }); } }, mounted() { this.computeTableHeight(); }, methods: { computeTableHeight() { const table = document.querySelector(".table-wrapper table"); const wrapper = document.querySelector(".table-wrapper"); const height = table.clientHeight; wrapper.style.height = `${height}px`; } } }; </script> <style> .table-wrapper { overflow-y: auto; max-height: 400px; } </style>
tableHeight
pour calculer dynamiquement la hauteur de la table, puis ajoutez-le au conteneur div. Utilisez :style="{ height: tableHeight + 'px' }"
pour lier les propriétés calculées dans le style afin d'allonger le tableau avec le contenu. Il convient de noter que lorsque vous utilisez cette méthode, vous devez vous assurer que la quantité de calcul des attributs calculés est raisonnable pour éviter des calculs excessifs conduisant à une dégradation des performances de la page. 3. Surveiller les modifications des donnéesLa dernière façon d'allonger le tableau avec le contenu est de surveiller les modifications des données. Plus précisément, il surveille les modifications dans le tableau de liste, puis recalcule la hauteur du tableau lorsque les données changent, de sorte que le tableau s'allonge à mesure que le contenu augmente. 🎜🎜Voici un exemple : 🎜rrreee🎜Dans cet exemple, nous écoutons les changements dans le tableau de liste, puis recalculons la hauteur de la table lorsque les données changent et définissons la hauteur du conteneur pour obtenir l'effet d'agrandissement de la table. plus longtemps avec le contenu. 🎜🎜L'avantage de cette méthode est qu'elle est relativement simple et ne nécessite pas trop de calculs. Cependant, il faut aussi considérer que lorsque la quantité de données est trop importante, cela aura un certain impact sur les performances. 🎜🎜Pour résumer, voici trois façons d'allonger la table à mesure que le contenu augmente. Quelle méthode doit être choisie en fonction de la situation et des besoins réels. Quelle que soit la méthode utilisée, le but est de rendre la page plus flexible, plus facile à utiliser, plus belle et plus efficace. 🎜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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.
