recherche

Maison  >  Questions et réponses  >  le corps du texte

Prenez la table de données v de Vuetify comme exemple pour implémenter la fonction de masquage conditionnel des colonnes

<p>J'ai un tableau avec les colonnes <code>v-data-table</code> et <code>actions</code> et je souhaite afficher cette colonne uniquement si l'utilisateur dispose de certaines autorisations. J'utilise un mixin pour vérifier les autorisations. </p> <p>J'ai essayé ce qui suit sans succès : </p> <pre class="brush:html;toolbar:false;"><template v-slot:[`header.actions`]="{ header }" v-if="hasPermission('centre de mise à jour ')"> {{ en-tête }} </modèle> ≪/pré> <p>Voici comment j'utilise le mixin dans le fichier de composant : </p> <pre class="brush:js;toolbar:false;">importer BaseLayout depuis "../layouts/Base/Base.vue"; importer hasPermission depuis "../../../mixins/hasPermissions" ; exporter par défaut { mixins : [hasPermission], ... } ≪/pré> <p>Résultat : [1] : https://i.stack.imgur.com/aVSgJ.png</p>
P粉775723722P粉775723722498 Il y a quelques jours587

répondre à tous(1)je répondrai

  • P粉681400307

    P粉6814003072023-08-26 09:25:31

    header.actions 是一个用于覆盖 actions 列标题渲染的插槽。如果你不传递它(当条件为 false ), Vuetify rendra la représentation par défaut.

    Si vous souhaitez masquer (ne pas afficher) certaines colonnes de manière conditionnelle, définissez l'en-tête de votre tableau comme computed

    computed: {
      headers() {
        const headers = [
          // 其他表头定义
        ]
        if(this.hasPermission('update center')) {
          headers.push({
            // actions 表头定义
          })
        }
    
        return headers
      }
    }
    

    répondre
    0
  • Annulerrépondre