Vue3+Element+Ts implementiert grundlegende Such-Resets und andere Funktionen des Formulars

Vue3+Element+Ts implementiert grundlegende Such-Resets und andere Funktionen des Formulars

Nach der Umstellung vom Schreibstil von Vue2 auf das Format von Vue3 wird es einige Änderungen im Schreibstil und in der Codestruktur geben. Hier sind einige wichtige Punkte.

Bildbeschreibung hier einfügen

Codestruktur:

Schreibmethode 1 (empfohlen):

<script setup lang="ts">
importiere { ref, reaktiv } von 'vue'
Importtyp { ElForm } von 'element-plus'
const myform = ref<Instanztyp<Typ von ElForm>>()
const formData = reaktiv({
  Name: '',
  Thema: '',
  Grad: ''
})
// Suchen const submitForm = () => {
  const { Name, Fach, Note } = formData
  console.log(Name, Fach, Note)
}
// Zurücksetzen const submitReset = () => {
  meinform.value?.resetFields()
}
</Skript>

<Vorlage>
  <div Klasse="meineSuche">
    <el-form :model="formData" label-width="80px" ref="myform">
      <el-row :gutter="24">
        <el-col :span="8">
          <el-form-item label="Name" prop="Name">
            <el-input v-model="formData.name"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="Betreff" prop="Betreff">
            <el-input v-model="formData.subject"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="Klasse" prop="Klasse">
            <el-select v-model="formData.grade" Platzhalter="Bitte auswählen">
              <el-option label="Klasse 1" value="shanghai"></el-option>
              <el-option label="Klasse 2" value="peking"></el-option>
            </el-Auswahl>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2" :offset="19">
          <el-button Typ="primär" Größe="mittel" @click="Formular abschicken">
            Abfrage</el-button>
        </el-col>
        <el-col :span="2" :offset="0">
          <el-button Typ="primär" Größe="mittel" @click="submitReset">
            Zurücksetzen</el-button>
        </el-col>
      </el-row>
    </el-form>
  </div>
</Vorlage>

<style scoped lang="weniger">
.meinesuche {
  Polsterung: 20px;
}
</Stil>

Schreibmethode 2:

<Vorlage>
  <div Klasse="meineSuche">
    <el-form ref="meineForm" :model="formData" label-width="80px">
      <el-row :gutter="24">
        <el-col :span="8">
          <el-form-item label="Name" prop="Name">
            <el-input v-model="formData.name"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="Betreff" prop="Betreff">
            <el-input v-model="formData.subject"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="Klasse" prop="Klasse">
            <el-select v-model="formData.grade" Platzhalter="Bitte auswählen">
              <el-option label="Klasse 1" value="shanghai"></el-option>
              <el-option label="Klasse 2" value="peking"></el-option>
            </el-Auswahl>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2" :offset="19">
          <el-button Typ="primär" Größe="mittel" @click="Formular absenden"
            >Abfrage</el-button
          >
        </el-col>
        <el-col :span="2" :offset="0">
          <el-button Typ="primär" Größe="mittel" @click="submitReset"
            >Zurücksetzen</el-Schaltfläche
          >
        </el-col>
      </el-row>
    </el-form>
  </div>
</Vorlage>
<script lang="ts">
importiere { defineComponent, reaktiv, ref } von 'vue'
importiere { ElForm } von 'element-plus'

exportiere StandarddefiniereKomponente({
  aufstellen() {
    const formData = reaktiv({
      Name: '',
      Thema: '',
      Grad: ''
    })
    const myform = ref<Instanztyp<Typ von ElForm>>()
    // Suchen const submitForm = () => {
      const { Name, Fach, Note } = formData
      console.log(Name, Fach, Note)
    }
    // Zurücksetzen const submitReset = () => {
      meinform.value?.resetFields()
    }
    zurückkehren {
      formData,
      meinFormular,
      Formular absenden,
      absendenZurücksetzen
    }
  }
})
</Skript>

<style scoped lang="weniger">
.meinesuche {
  Polsterung: 20px;
}
</Stil>

Der Unterschied:

  • Schreibmethode 1 besteht von oben nach unten aus JS, HTML und CSS, ähnelt React und weist eine klare Logik auf.
  • Schreibmethode 1 erfolgt von oben nach unten, also HTML, JS und CSS, ähnlich der vorherigen Schreibmethode von Vue2.
  • Das Format der Schreibmethode 1 muss keine Daten, Methoden und andere Inhalte exportieren, wodurch die Codemenge gespart wird

Wichtige Punkte:

1. Der Code der Demo der offiziellen Website von Element Plus enthält keine prop

  <el-form-item label="Aktivitätsname">
      <el-input v-model="form.name"></el-input>
    </el-form-item>

Um eine Datenreaktion zu erreichen, müssen Sie diese beim Schreiben selbst binden
2. Die Verwendung des el-form ref erfordert die Einführung ElForm

importiere { ElForm } von 'element-plus'
const myform = ref<Instanztyp<Typ von ElForm>>()

Dies ist das Ende dieses Artikels über Vue3+Element+Ts zur Implementierung der grundlegenden Formularsuche und anderer Funktionen. Weitere verwandte Inhalte zur Formularsuche von Element Ts finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Zwei Möglichkeiten zur Einführung von Element-plus-UI-Stilen in Vue3.0
  • Detaillierte Erläuterung der verschachtelten Tabelle im Vue-ElementUI-Formular und der Überprüfung jeder Zeile
  • vue3 + elementPlus – Problem beim Zurücksetzen des Formulars

<<:  So deaktivieren Sie die automatische Eingabeaufforderung zum Speichern des Kennworts im Chrome-Browser

>>:  Bei der SQL-Optimierung treten häufig Fehler auf, weil Sie die Verwendung von MySQL nicht verstehen.

Artikel empfehlen

HTML realisiert Hotel-Screening-Funktion über Formular

<!doctype html> <html xmlns="http:/...

Diskussion über die Möglichkeit zum Öffnen von Website-Hyperlinks

Ein neues Fenster wird geöffnet. Vorteile: Wenn d...

Tutorial zur Installation von MySQL 8.0.11 mit RPM unter Linux (CentOS7)

Inhaltsverzeichnis 1. Installationsvorbereitung 1...

Detaillierte Analyse mehrerer Situationen, in denen MySQL-Indizes fehlschlagen

1. Führende Fuzzy-Abfragen können keinen Index ve...

Eine kleine Einführung in die Verwendung der Position in HTML

Ich habe gestern gerade etwas HTML gelernt und kon...

So installieren Sie das ZSH-Terminal in CentOS 7.x

1. Installieren Sie grundlegende Komponenten Führ...

Eine Codezeile zeigt Ihnen, wie Sie Linux-Prozesse verbergen

Freunde fragen mich immer, wie man Linux-Prozesse...

MySQL-Vorkompilierung in einem Artikel verstehen

1. Vorteile der Vorkompilierung Wir haben alle di...

Warum ich Nginx als Backend-Server-Proxy empfehle (Gründeanalyse)

1. Einleitung Unsere realen Server sollten nicht ...

Anfänger lernen einige HTML-Tags (1)

Anfänger können HTML lernen, indem sie einige HTM...