Heim > Web-Frontend > View.js > Entwicklung von Vue-Komponenten: Implementierungsmethode für Tag-Selektorkomponenten

Entwicklung von Vue-Komponenten: Implementierungsmethode für Tag-Selektorkomponenten

WBOY
Freigeben: 2023-11-24 08:08:24
Original
950 Leute haben es durchsucht

Entwicklung von Vue-Komponenten: Implementierungsmethode für Tag-Selektorkomponenten

Vue-Komponentenentwicklung: Implementierungsmethode für Tag-Selektorkomponenten

Einführung:
Der Tag-Selektor ist eine der häufigsten Komponenten in der Webentwicklung. Er kann verwendet werden, um ein oder mehrere spezifische Tags auszuwählen, um Benutzern eine bequeme Bedienung zu ermöglichen. In diesem Artikel wird die Implementierung einer einfachen Label-Selektor-Komponente in der Vue-Komponentenentwicklung vorgestellt und spezifische Codebeispiele bereitgestellt.

1. Anforderungsanalyse:
Wir müssen eine Tag-Auswahlkomponente implementieren:

  1. Benutzer können über das Eingabefeld nach Tags suchen Benutzer können ein oder mehrere Tags auswählen.
  2. Die vom Benutzer ausgewählten Tags müssen gelöscht werden können.
  3. 2. Technologieauswahl:
  4. Bei der Vue-Komponentenentwicklung können wir die von Element UI bereitgestellte Komponentenbibliothek verwenden, um die Etikettenauswahlkomponente zu implementieren. Element UI ist eine auf Vue.js basierende Komponentenbibliothek, die einen umfangreichen Satz an UI-Komponenten und interaktiven Funktionen bereitstellt.
3. Komponentendesign und -implementierung:


Komponentenstruktur:

Unsere Etikettenauswahlkomponente kann in zwei Ebenen unterteilt werden: Außenbehälter und Innenkomponente. Der äußere Container wird verwendet, um die ausgewählte Beschriftung anzuzeigen und das Ein- und Ausblenden des Eingabefelds auszulösen. Die interne Komponente wird verwendet, um die Liste der auswählbaren Beschriftungen anzuzeigen und die Such-, Auswahl- und Löschvorgänge des Eingabefelds abzuwickeln.

  1. Komponentenimplementierung:
    (1) Definieren Sie im äußeren Container ein Datenattribut, um die ausgewählte Etikettenliste und den Anzeigestatus des Eingabefelds zu speichern.
  2. <template>
      <div class="tag-selector">
     <div class="selected-tags">
       <!-- 已选择的标签展示 -->
       <el-tag v-for="tag in selectedTags" :key="tag" closable @close="removeTag(tag)">{{ tag }}</el-tag>
     </div>
     <el-input v-model="inputValue" placeholder="请输入标签" @focus="showDropdown" @input="handleInput"></el-input>
     <!-- 标签列表下拉框 -->
     <el-dropdown :show="dropdownVisible">
       <el-dropdown-menu>
         <el-dropdown-item v-for="tag in filteredTags" :key="tag" @click="selectTag(tag)">{{ tag }}</el-dropdown-item>
       </el-dropdown-menu>
     </el-dropdown>
      </div>
    </template>
    Nach dem Login kopieren
  3. (2) In der internen Komponente müssen wir die Etikettenlistendaten, den Wert des Eingabefelds und den ausgeblendeten Anzeigestatus definieren. Sie müssen außerdem Methoden definieren, um die Such-, Auswahl- und Löschvorgänge des Eingabefelds durchzuführen.

    <script>
      export default {
     data() {
       return {
         tags: ['HTML', 'CSS', 'JavaScript', 'Vue.js', 'React', 'Angular'],
         inputValue: '',
         dropdownVisible: false
       }
     },
     computed: {
       selectedTags() {
         // 根据输入框的值筛选已选择的标签
         return this.tags.filter(tag => tag.includes(this.inputValue))
       },
       filteredTags() {
         // 根据输入框的值筛选可选择的标签
         return this.tags.filter(tag => tag.includes(this.inputValue))
       }
     },
     methods: {
       showDropdown() {
         this.dropdownVisible = true
       },
       handleInput(value) {
         this.inputValue = value
       },
       selectTag(tag) {
         this.inputValue = ''
         this.dropdownVisible = false
         // 将选择的标签添加到已选择的标签列表中
         this.selectedTags.push(tag)
       },
       removeTag(tag) {
         // 删除已选择的标签
         const index = this.selectedTags.indexOf(tag)
         if (index > -1) {
           this.selectedTags.splice(index, 1)
         }
       }
     }
      }
    </script>
    Nach dem Login kopieren

    4. Komponentenverwendung:

    Sie können die Label-Selektor-Komponente als Unterkomponente anderer Komponenten verwenden, beispielsweise als Formularkomponente:
  4. <template>
      <div>
        <label>标签选择:</label>
        <tag-selector></tag-selector>
      </div>
    </template>
    
    <script>
      import TagSelector from './TagSelector.vue'
    
      export default {
        components: {
          TagSelector
        }
      }
    </script>
    Nach dem Login kopieren
5. Zusammenfassung:

Dieser Artikel stellt die Implementierung von Label-Selektoren in der Vue-Komponente vor Entwicklung Komponentenmethoden. Durch die Verwendung der Komponentenbibliothek von Element UI können wir Komponenten einfach entwerfen und implementieren. Das Codebeispiel zeigt, wie die Such-, Auswahl- und Löschvorgänge des Eingabefelds als Referenz und Verwendung für Entwickler gehandhabt werden.

6. Referenzen:


Offizielle Dokumentation von Element UI: https://element.eleme.cn/

Offizielle Dokumentation von Vue.js: https://cn.vuejs.org/

Das obige ist der detaillierte Inhalt vonEntwicklung von Vue-Komponenten: Implementierungsmethode für Tag-Selektorkomponenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage