Die wichtigsten gelösten Probleme1. 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> ZusammenfassenDieser 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:
|
<<: Tabellen dynamisch in HTML hinzufügen_PowerNode Java Academy
>>: So fragen Sie schnell 10 Millionen Datensätze in MySQL ab
Inhaltsverzeichnis 1. Vergleich der Daten vor und...
1. Hoher Einsturzgrad Im Dokumentfluss wird die H...
Ich glaube, jeder kennt den Papierkorb, da er bei...
MySQL 8.0.19 unterstützt die Sperrung des Kontos ...
Inhaltsverzeichnis 1. Grundlegende Verwendung von...
In diesem Artikelbeispiel wird der spezifische Co...
FTP wird hauptsächlich für die Dateiübertragung v...
<br />In meiner jahrelangen professionellen ...
Einführung Basierend auf Docker-Containern und Do...
Implementierungsanforderungen Das ElementUI imiti...
Vorwort Beim Teilen einer Seite hoffen Sie, durch...
Einführung in NFS NFS (Network File System) ist e...
Szenario Angenommen, es gibt 10 Anfragen, aber di...
1 Starten Sie den Docker-Dienst Zuerst müssen Sie...
1. MySQLs eigenes Stresstest-Tool – Mysqlslap mys...