Imprimer
Catégorie : R3.01 - dev. Web côté client (vuejs)
Affichages : 640

L'archive des sources (répertoire src) pour les démonstrations est téléchargeable [ ici ].

 1°/ Objectifs de Vuetify

2°/ Utilisation de Vuetify dans un projet vue-cli

3°/ Principes fondamentaux de Vuetify

3.1°/ les composants vuetify.

Exemple, avec un bouton vuetify :

<template>
  <div>
    <v-btn>Clic</v-btn>
  </div>
</template>

Exemple, texte en vert et padding à gauche :

<template>
  <div>
    <v-btn :style="{color:'green', paddingLeft: '50px'}">Clic</v-btn>
  </div>
</template>

 

Exemple, marges de 40 pixels et padding de 8 pixels :

<template>
  <div>
    <v-btn
      class="ma-10 pa-2"
    >
      Clic
    </v-btn>
  </div>
</template>

3.2°/ La grille de positionnement

Exemple, 1 seule ligne et 2 colonnes, par défaut de rapport de taille 1/5, et de rapport 1/2 pour les supports md et au-delà :

<v-container>
  <v-row>
    <v-col cols="2" md="4">
      <v-btn block> Bouton 1 </v-btn>
    </v-col>
    <v-col cols="10" md="8">
      <v-btn block> Bouton 2 </v-btn>
    </v-col>
  </v-row>
<v-container>

Démonstration n°1 :

4°/ exemples

4.1°/ customiser un bouton

Démonstration n°2 :

Remarques :

4.2°/ Dialog & Cards

<v-dialog>
  <template v-slot:activator={on, attrs, value}">
    <v-btn v-on="on" v-bind="attrs"> click <v-btn>
  </template>
  ... définition de la fenêtre de dialogue
</v-dialog>

Démonstration n°3 :

Remarques :

 4.3°/ Table de données

Exemple basique, avec un tableau de nom/prénom, seule la colonne nom peut être triée :

<template>
  <v-data-table
    :headers="titres"
    :items="infos"
    ...
  >
</template>
<script>
  name: 'App',
  data: () => ({
    titres: [
      {text: 'Nom', value: 'lastName'},
      {text: 'Prenom', value: 'firstName'}
    ],
    infos: [
      {id:0, lastName:'Dupond', firstName:'jean'},
      {id:1, lastName:'Durand', firstName:'alcyonne', sortable: false},
    ]
  }), 
  ...
}
</script>
      

 

Exemple :

<template>
  <v-text-field
    v-model="mysearch"
    label="chercher"
  ></v-text-field>
  <v-data-table
    :headers="titres"
    :items="infos"
    :search="mysearch"
  ></v-data-table>
</template>
<script>
export default {
  name: 'App',
  data: () => ({
     mysearch: '',
    ...
  }
}

Démonstration n°4 :

Remarques :

4.4°/ Barre de navigation, Suivre des routes & divers bonus

 

 

Démonstration n°5 :

Remarques :

 

4.5°/ Groupes d'éléments

Pour les groupes de boutons :

Pour les groupes de chips :

Pour les groupes d'items :

 

Pour les groupes de liste d'items :

Pour un emplacement multi-contenu :

Pour un multi-contenu avec pagination :

 

Démonstration n°6 :