Table des matières
Personnalisez l'effet de survol de l'élément UI El-Table Merge
Scénarios de demande
Plan de mise en œuvre
Étapes de mise en œuvre spécifiques
Maison interface Web tutoriel CSS Comment ajuster le style de survol et la logique des lignes fusionnées dans El-Table dans l'élément UI?

Comment ajuster le style de survol et la logique des lignes fusionnées dans El-Table dans l'élément UI?

Apr 05, 2025 pm 07:45 PM
css red

Comment ajuster le style de survol et la logique des lignes fusionnées dans El-Table dans l'élément UI?

Personnalisez l'effet de survol de l'élément UI El-Table Merge

Le comportement par défaut du composant el-table de l'interface utilisateur de l'élément peut ne pas répondre à tous les besoins lorsqu'il s'agit de styles de lignes de lignes fusionnées ( rowspan ). Cet article explorera comment personnaliser l'effet de survol des lignes fusionnées pour réaliser deux scénarios communs: la mise en évidence locale et la mise en évidence de la ligne entière.

Scénarios de demande

En supposant qu'un tableau el-table contient des lignes fusionnées, nous voulons réaliser les deux effets de survol suivants:

  1. Souligion locale (effet 1): Lorsque la souris plane sur n'importe quelle rangée d'une ligne fusionnée, elle ne mettra en évidence que la ligne et ses cellules vers la droite, ou ne mettent en évidence qu'une colonne spécifique. Cela nécessite un contrôle précis de la zone en surbrillance.

    Comment ajuster le style de survol et la logique des lignes fusionnées dans El-Table dans l'élément UI?Comment ajuster le style de survol et la logique des lignes fusionnées dans El-Table dans l'élément UI?

  2. Mettez en surbrillance toute la ligne (effet 2): Lorsque la souris plane sur n'importe quelle ligne de la ligne de fusion, toute la ligne de fusion sera mise en évidence, y compris toutes les cellules transversales.

    Comment ajuster le style de survol et la logique des lignes fusionnées dans El-Table dans l'élément UI?

Plan de mise en œuvre

Cela nécessite la combinaison de la personnalisation du style CSS et des noms de classe de contrôle dynamique JavaScript. Ce qui suit fournit une solution améliorée:

<template>
  <el-table ref="table" :data="tableData" :span-method="arraySpanMethod">
    
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        // 表格数据
      ],
      hoveredRowIndex: null,
    };
  },
  methods: {
    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
      // 合并行逻辑
    },
    handleCellMouseEnter(row, column, cell, event) {
      this.hoveredRowIndex = row.rowIndex;
    },
    handleCellMouseLeave(row, column, cell, event) {
      this.hoveredRowIndex = null;
    },
  },
};
</script>

<style scoped>
.el-table .el-table__row:hover td {
  background-color: transparent !important; /* 清除默认悬停样式 */
}

.el-table__cell.hovered { /* 局部高亮样式 */
  background-color: #f5f7fa !important;
}

.el-table__row.hover-all td { /* 整行高亮样式 */
  background-color: #f5f7fa !important;
}
</style>
Copier après la connexion

Étapes de mise en œuvre spécifiques

  1. Merger la logique ( arraySpanMethod ) : écrivez la fonction arraySpanMethod pour implémenter la logique de fusionner la logique en fonction de votre structure de données. Cette partie du code n'est pas fournie et doit être écrite en fonction de vos données réelles.

  2. Fixation locale (effet 1): Dans la méthode handleCellMouseEnter , jugez les cellules qui doivent être mises en évidence sur la base de row.rowIndex et column.columnIndex , et ajouter dynamiquement le nom de classe hovered . Cela nécessite d'ajouter un attribut class="hovered" aux colonnes qui doivent être mis en surbrillance localement dans la définition de la colonne de table. Le style .el-table__cell.hovered dans CSS contrôlera l'effet de mise en évidence.

  3. Mettez en surbrillance la ligne entière (effet 2): Dans la méthode handleCellMouseEnter , trouvez toutes les lignes appartenant à la même ligne fusionnée et ajoutez hover-all . Retirez le nom de classe dans handleCellMouseLeave . Cela nécessite des opérations DOM plus complexes, ce qui peut nécessiter l'utilisation this.$refs.table.$el.querySelectorAll pour sélectionner les éléments de ligne pertinents. .el-table__row.hover-all td dans CSS contrôlera l'effet de mise en évidence.

Instructions d'amélioration:

  • Les noms de classe CSS plus clairs hovered et hover-all sont utilisés pour distinguer les styles de mise en évidence des lignes locales et entières.
  • !important a été utilisé dans CSS pour remplacer le style par défaut de l'interface utilisateur de l'élément pour s'assurer que le style personnalisé entre en vigueur.
  • La structure du code est plus claire et plus facile à comprendre et à maintenir.

Cette solution fournit un moyen plus flexible et évolutif de personnaliser l'effet de survol de la fusion. Vous devez ajuster le code en fonction de vos besoins spécifiques et de votre structure de table, en particulier arraySpanMethod et handleCellMouseEnter / handleCellMouseLeave . N'oubliez pas de choisir la mise en évidence locale ou la mise en évidence de la ligne entière en fonction de vos besoins réels, ou utilisez les deux en combinaison.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1664
14
Tutoriel PHP
1268
29
Tutoriel C#
1243
24
Utilisation de dicr / yii2-google pour intégrer l'API Google dans yii2 Utilisation de dicr / yii2-google pour intégrer l'API Google dans yii2 Apr 18, 2025 am 11:54 AM

VProCSERAZRABOTKIVEB-ENCLOSED, мне démar Leavally umballancefriabancefaumdoptomatification, čtookazalovnetakprosto, kakaožidal.posennesko

Comment utiliser la solution Redis Cache pour réaliser efficacement les exigences de la liste de classement des produits? Comment utiliser la solution Redis Cache pour réaliser efficacement les exigences de la liste de classement des produits? Apr 19, 2025 pm 11:36 PM

Comment la solution de mise en cache Redis réalise-t-elle les exigences de la liste de classement des produits? Pendant le processus de développement, nous devons souvent faire face aux exigences des classements, comme l'affichage d'un ...

HTML vs CSS et JavaScript: Comparaison des technologies Web HTML vs CSS et JavaScript: Comparaison des technologies Web Apr 23, 2025 am 12:05 AM

HTML, CSS et JavaScript sont les technologies de base pour la création de pages Web modernes: 1. HTML définit la structure de la page Web, 2. CSS est responsable de l'apparence de la page Web, 3. JavaScript fournit une dynamique de page Web et une interactivité, et ils travaillent ensemble pour créer un site Web avec une bonne expérience d'utilisation.

Points d'optimisation de Laravel8 Points d'optimisation de Laravel8 Apr 18, 2025 pm 12:24 PM

Laravel 8 fournit les options suivantes pour l'optimisation des performances: Configuration du cache: utilisez Redis pour cache des pilotes, des façades de cache, des vues de cache et des extraits de page. Optimisation de la base de données: établissez l'indexation, utilisez la portée de la requête et utilisez des relations éloquentes. Optimisation JavaScript et CSS: utilisez le contrôle de version, fusionnez et rétractable, utilisez CDN. Optimisation du code: utilisez le package d'installation du compositeur, utilisez les fonctions Laravel Helper et suivez les normes PSR. Surveillance et analyse: utilisez Laravel Scout, utilisez le télescope, surveillez les mesures d'application.

Que faire si le cache Redis échoue dans Spring Boot? Que faire si le cache Redis échoue dans Spring Boot? Apr 19, 2025 pm 08:03 PM

Dans Springboot, utilisez Redis pour mettre en cache l'objet OAuth2Authorisation. Dans l'application Springboot, utilisez SpringSecurityoAuth2AuthorizationsServer ...

Quels échanges de devises de 2025 sont plus sûrs? Quels échanges de devises de 2025 sont plus sûrs? Apr 20, 2025 pm 06:09 PM

Les dix premiers échanges sûrs et fiables dans le cercle de crypto-monnaie 2025 comprennent: 1. Binance, 2. Okx, 3. Gate.io (Sesame Open), 4. Coinbase, 5. Kraken, 6. Huobi Global, 7. Gemini, 8. Crypto.com, 9. Bitfinex, 10. Kucoin. Ces échanges sont considérés comme sûrs et fiables en fonction de la conformité, de la force technique et des commentaires des utilisateurs.

Utilisez le compositeur pour simplifier le développement du projet PHP: application pratique de la bibliothèque PXNIU / Study Utilisez le compositeur pour simplifier le développement du projet PHP: application pratique de la bibliothèque PXNIU / Study Apr 18, 2025 am 11:06 AM

Lors du développement de projets PHP, nous rencontrons souvent des exigences telles que le fonctionnement fréquent des bases de données, la gestion des transactions et l'injection de dépendance. S'ils sont écrits manuellement, ces opérations sont non seulement longues et à forte intensité de main-d'œuvre, mais aussi sujettes à des erreurs. Récemment, j'ai rencontré des problèmes similaires dans mes projets, et la gestion de ces opérations est devenue extrêmement complexe et difficile à maintenir. Heureusement, j'ai trouvé une bibliothèque de compositeurs appelée pxniu / étude, qui a considérablement simplifié mon processus de développement. Le compositeur peut être appris par l'adresse suivante: Adresse d'apprentissage

Quelle est la raison pour laquelle le navigateur ne répond pas après le retour du serveur WebSocket 401? Comment le résoudre? Quelle est la raison pour laquelle le navigateur ne répond pas après le retour du serveur WebSocket 401? Comment le résoudre? Apr 19, 2025 pm 02:21 PM

La méthode non réactive du navigateur après le retour du serveur WebSocket 401. Lorsque vous utilisez Netty pour développer un serveur WebSocket, vous rencontrez souvent la nécessité de vérifier le jeton. � ...

See all articles