Maison  >  Article  >  interface Web  >  Explication détaillée du processus d'implémentation des composants de classification de formulaire dans la documentation Vue

Explication détaillée du processus d'implémentation des composants de classification de formulaire dans la documentation Vue

王林
王林original
2023-06-20 16:29:39933parcourir

Vue est un excellent framework de développement front-end. Ses idées de liaison de données bidirectionnelles et de développement basées sur des composants apportent une grande commodité aux développeurs front-end. Dans la documentation officielle de Vue, le processus d'implémentation du composant de classification du formulaire est un bon exemple, discutons donc en détail du processus d'implémentation de ce composant.

La fonction principale de ce composant est de mettre en œuvre une classification des formulaires, similaire aux « informations d'enregistrement industriel et commercial » ou aux « informations personnelles ». Les utilisateurs peuvent afficher différents contenus de formulaire en cliquant sur différents onglets de classification.

Tout d'abord, nous devons préparer certaines données, notamment les étiquettes de classification, les données de contenu du formulaire, etc. Dans Vue, nous pouvons utiliser l'attribut data pour stocker ces données et les initialiser.

data() {
  return {
    tabs: [
      { label: '基本信息', name: 'basic' },
      { label: '联系方式', name: 'contact' },
      { label: '工作经历', name: 'work' },
      { label: '教育经历', name: 'edu' }
    ],
    formData: {
      basic: {
        name: '',
        gender: '',
        birthDate: '',
        profession: ''
      },
      contact: {
        phone: '',
        email: '',
        address: ''
      },
      work: [
        {
          company: '',
          position: '',
          startDate: '',
          endDate: ''
        }
      ],
      edu: [
        {
          school: '',
          major: '',
          startDate: '',
          endDate: ''
        }
      ]
    },
    activeTab: 'basic'
  }
}

Parmi eux, le tableau tabs stocke les données des étiquettes de classification et l'objet formData stocke les données du formulaire sous différentes options de classification. L'attribut activeTab représente l'onglet actuellement sélectionné.

Ensuite, nous devons restituer la structure et le style du composant. Dans Vue, nous pouvons utiliser la balise template pour définir la structure du composant. L'instruction v-for peut parcourir le tableau tabs et restituer le bouton d'étiquette correspondant en fonction de chaque objet qu'il contient. La directive v-if est utilisée pour contrôler l'affichage du contenu du formulaire de la balise actuellement sélectionnée.

<template>
  <div class="form">
    <div class="tab">
      <button
        v-for="tab in tabs"
        :key="tab.name"
        :class="{ active: activeTab === tab.name }"
        @click="activeTab = tab.name"
      >
        {{ tab.label }}
      </button>
    </div>
    <div class="form-content">
      <div v-if="activeTab === 'basic'">
        <h3>基本信息</h3>
        <form>
          <!-- 表单内容 -->
        </form>
      </div>
      <div v-if="activeTab === 'contact'">
        <h3>联系方式</h3>
        <form>
          <!-- 表单内容 -->
        </form>
      </div>
      <div v-if="activeTab === 'work'">
        <h3>工作经历</h3>
        <form>
          <!-- 表单内容 -->
        </form>
      </div>
      <div v-if="activeTab === 'edu'">
        <h3>教育经历</h3>
        <form>
          <!-- 表单内容 -->
        </form>
      </div>
    </div>
  </div>
</template>

Enfin, nous devons lier les données formData correspondantes à chaque élément de formulaire et mettre à jour la valeur des données lors de la saisie. Vue fournit la directive v-model, qui peut facilement implémenter une liaison bidirectionnelle.

Par exemple, pour la zone de saisie du nom, nous pouvons écrire comme ceci :

<div class="form-item">
  <label>姓名:</label>
  <input type="text" v-model="formData.basic.name">
</div>

De cette façon, lorsque l'utilisateur saisit les informations de nom dans la zone de saisie, Vue mettra automatiquement à jour la valeur de formData.basic.name, obtenant ainsi liaison bidirectionnelle des données.

À ce stade, nous avons terminé la mise en œuvre du composant de classification des formulaires. Ce composant peut être appliqué à divers scénarios de classification de formulaires et présente une valeur pratique et une évolutivité élevées. Dans le même temps, grâce à cet exemple, nous avons également une compréhension plus approfondie du mécanisme de liaison de données et d'instructions de Vue.

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:
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