Detaillierte Erläuterung, wie Vue Werte zurückgibt, um Formulare dynamisch zu generieren und Daten zu übermitteln

Detaillierte Erläuterung, wie Vue Werte zurückgibt, um Formulare dynamisch zu generieren und Daten zu übermitteln

Die wichtigsten gelösten Probleme

1. Vue muss beim Schleifen verschiedene V-Modelle dynamisch binden. Wie bindet man Daten an die dynamische Form von Vue?

2. Alle Schlüssel-Wert-Paare, die den Namensattributen im dynamischen Formular entsprechen, werden an das Backend übermittelt

1. Die vom Backend zurückgegebenen und an das Backend übermittelten Daten haben das folgende Format:

// Die vom Backend zurückgegebenen Daten werden je nach Rückgabetyp mit der entsprechenden Komponente verwendet [
	{
	    "Komponententyp": "Eingabe",
	    "componentName": "Benutzername",
	    "erforderlich": "1", // Ob es beim Absenden ausgefüllt werden muss "Name": "Name",
	},
	{
        "Komponententyp": "Radio",
        "Komponentenname": "Geschlecht",
        "erforderlich": "1",
        "Name": "Geschlecht",
        "Optionen": [
            {
                "name": "Männlich",
                "Wert": "0000"
            },
            {
                "name": "Weiblich",
                "Wert": "1111"
            }
        ]
   }
]
// An den Server übermitteltes Datenformat {
	Benutzername: 'Mein Name',
	Geschlecht: '0000' // entspricht "männlich"
}

2. Der Vue-Frontend-Code lautet wie folgt:

<Vorlage>
  <div Klasse="Seitencontainer">
      <div Klasse="dynamischer Inhalt">
        <div v-for="(item,idx) in infoList" :key="idx">
          <input class="common-input" v-model="modelItems[idx]" v-if="item.componentType=='input'">
          <van-radio-group v-model="modelItems[idx]" direction="horizontal" v-if="item.componentType=='radio'">
            <van-radio :name="itemRadio.value" v-for="itemRadio in item.options" :key="itemRadio.value">
              {{itemRadio.name}}
            </van-radio>
          </van-radio-group>
        </div>
        <div class="common-btn" @click="clickSubmit">Daten übermitteln</div>
      </div>
  </div>
</Vorlage>
<Skript>
Vue von „vue“ importieren
importiere { getListData } von '@/api/home'
importiere { RadioGroup, Radio } von 'vant'
Vue.use(Radio).use(RadioGruppe)
Standard exportieren {
  Daten() {
    zurückkehren {
      modelItems: {}, // Vue muss beim Loopen verschiedene V-Modelle dynamisch binden
      infoListe: []
    }
  },
  montiert() {
    diese.formKeyArr = []
    dies.getList()
  },
  Methoden: {
    Liste abrufen() {
      getListData()
        .then((res) => {
          const infoListData = res.infoList
          this.infoList = infoListData
          infoListData.forEach((item, index) => {
          	// Speichert den Attributnamen und ob dieser erforderlich ist, da dieser für die nachfolgende Datenübertragung verwendet wird // { name: 'username', type: 1 }, { name: 'sex', type: 1}
            this.formKeyArr.push({ Name: Artikel.Komponentenname, Typ: Artikel.erforderlich })
          })
        })
        .fangen(() => {
        })
    },
    klicke aufSenden() {
      const postParams = {} // Übermittelte Daten let isCanSubmit = true
      dies.formKeyArr.forEach((item, index) => {
        Konsole.log('Element=', Element)
        if (item.type === '1' && !this.modelItems[index]) { // Alle Tags erfordern // Bitte füllen Sie zuerst das Formular aus, bitte füllen Sie das Toast-Formular vollständig aus isCanSubmit = false
        }
        postParams[Element['Name']] = dieses.ModellElemente[Index]
      })
      wenn (istKannSenden) {
      	//Kann Daten übermitteln //Kann die übermittelten Formulardaten abrufen //{ Benutzername: 'mein Name', Geschlecht: '0000' //entspricht "männlich" }
      	console.log('postParams=', postParams)
      }
    }
  }
}
</Skript>
<style lang="scss">
</Stil>

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Vue implementiert die Konvertierung von Formulardaten in das JSON-Format
  • Tutorial zur Demonstration interaktiver Übermittlung von Vue-Formulardaten
  • vue fügt hinzu und bearbeitet mit demselben Formular, el-form löscht Formulardaten nach dem Absenden des Formulars
  • So erhalten Sie Formulardaten in Vue
  • Vue implementiert die Funktion zum Hinzufügen, Löschen und Ändern von Formulardaten
  • So verwenden Sie das Element-ui-Formular in Vue, um Daten und mehrere Bilder an das Backend zu senden
  • Details zur Methode von Vue zum Sammeln von Formulardaten

<<:  Tabellen dynamisch in HTML hinzufügen_PowerNode Java Academy

>>:  So fragen Sie schnell 10 Millionen Datensätze in MySQL ab

Artikel empfehlen

Lösen Sie das Problem der inkonsistenten MySQL-Speicherzeit

Nachdem die Systemzeit mit Java ermittelt und in ...

Zusammenfassung von über 50 Hilfsfunktionen in JavaScript

JavaScript kann viele tolle Dinge. Dieser Artikel...

JavaScript-Verlaufsobjekt erklärt

Inhaltsverzeichnis 1. Routennavigation 2. API zur...

Miniprogramm zur Implementierung der Sieve-Lotterie

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Installation und Konfiguration von Subversion (SVN) unter Ubuntu

Wenn Sie Softwareentwickler sind, müssen Sie mit ...

So erstellen Sie PHP7 mit einem benutzerdefinierten Docker-Image

Führen Sie zunächst eine einfache Docker-Installa...

Detaillierte Erläuterung der Kommentare zu gespeicherten MySQL-Prozeduren

Inhaltsverzeichnis 1. Gebrauchsanweisung 2. Vorbe...

Tipps zum Erstellen von Web-Tabellenrahmen

<br />Tipps zum Erstellen von Web-Tabellenra...

Neue Features in MySQL 8: Unsichtbare Indizes

Hintergrund Indizes sind ein zweischneidiges Schw...

Installieren des Win10-Systems auf VMware Workstation 14 Pro

Dieser Artikel beschreibt zu Ihrer Information, w...

So installieren Sie OpenJDK in Docker und führen das JAR-Paket aus

Bild herunterladen Docker-Pull OpenJDK Erstellen ...

Eine kurze Analyse des Unterschieds zwischen ref und toRef in Vue3

1. ref wird kopiert, die Ansicht wird aktualisier...

20 hervorragende Beispiele für die Farbabstimmung auf ausländischen Webseiten

In diesem Artikel werden 20 hervorragende Beispiel...

Implementierungsmethode für die Datenspeicherung im WeChat-Applet

Inhaltsverzeichnis Globale Variable „globalData“ ...