


Informationen zur Überprüfungsmethode für Formularelemente in der V-for-Schleife, wenn Vue die Elementkomponente verwendet
In diesem Artikel wird hauptsächlich die Methode zur Überprüfung von Formularelementen in der V-For-Schleife vorgestellt. Der Inhalt ist jetzt recht gut und dient als Referenz.
Die Titelbeschreibung sieht etwas kompliziert aus, mit Vue, Element, Formularvalidierung und V-for-Schleife? Ist es nicht ein bisschen chaotisch? Ich glaube jedoch, dass Studierende, die während der Entwicklung auf dieses Problem gestoßen sind, auf einen Blick verstehen werden, was ich meine.
Zuallererst verfügt die Element-Komponente über einen vollständigen Satz von Formularüberprüfungsmethoden. Das offizielle Dokument enthält außerdem Regeln für die Formularüberprüfung die überprüft werden müssen, und dann das Formular absenden. Validieren Sie einfach die Formularelemente mit der Validierungsmethode des Formulars.
Aber hier stellt sich die Frage, wie die Validierung eingerichtet wird, wenn Formularelemente dynamisch durch v-for generiert werden. Dieses offizielle Dokument enthält keine klare Erklärung. Durch die Suche nach Lösungen und die tatsächliche Überprüfung haben wir die Lösungen wie folgt zusammengefasst.
Der erste ist der Code vor dem Schleifen der Formularelemente ohne Überprüfung:
<template> <p class="content-body"> <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row :gutter="10"> <el-col :span="12" :offset="0"> <el-form-item label="套餐名称:" prop="activityName" id="activityName"> <el-input v-model="form.activityName"></el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="10"> <el-col :span="12"> <el-form-item label="状态:"> <el-radio v-model="form.status" label="1">上线</el-radio> <el-radio v-model="form.status" label="0">下线</el-radio> </el-form-item> </el-col> </el-row> <el-row :gutter="10"> <el-col :span="2" style="width:120px;"> <p class="sub-title">梯度设置:</p> </el-col> <el-col :span="20"> <el-row :gutter="10" v-for="(item,index) in form.productGroup" :key="index"> <el-col :span="6"> <el-form-item label="商品数量:"> <el-input v-model="item.num" type="number" size="small" style="width:80px;"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="优惠价格:"> <el-input v-model="item.price" type="number" size="small" style="width:80px;"></el-input> </el-form-item> </el-col> <el-col :span="4"> <i class="el-icon-remove-outline" @click="deleteLadder(index)"></i> <i class="el-icon-circle-plus-outline" @click="addLadder" v-if="index==0"></i> </el-col> </el-row> </el-col> </el-row> <el-form-item size="medium" class="p-submit"> <el-button @click="resetForm('form')">取消</el-button> <el-button type="primary" @click="submitForm('form')">提交</el-button> </el-form-item> </el-form> </p> </template> <script> /* eslint-disable */ export default { data() { return { form: { activityName: '', status: '1', productGroup: [{num:"",price:""}] }, rules: { activityName: [ { required: true, message: '请输入套餐名称', trigger: 'blur' } ] } } }, methods: { deleteLadder(index) { if(this.form.productGroup.length>1){ this.form.productGroup.splice(index,1); } }, addLadder() { this.form.productGroup.push({num:"",price:""}); }, submitForm(formName) { console.log("activityName...",this.form.activityName); this.$refs[formName].validate((valid,obj) => { if (valid) { this.submitFormAction(); } else { this.$message.error("验证不通过"); } }); }, submitFormAction() { this.$message.success("提交成功"); }, resetForm(formName) { this.$refs[formName].resetFields(); this.form.productGroup = [{num:"",price:""}]; } } } </script> <style> .el-form-item { margin-bottom: 20px; } </style>
Der erste besteht darin, Regeln hinzuzufügen, was dasselbe ist wie Fügen Sie normalerweise Regeln hinzu:
productGroupRules: { productGroupNum: [{required: true, message: '请填写商品数量', trigger: 'blur'}], productGroupPrice: [{required: true, message: '请填写优惠价格', trigger: 'blur'}] }
Fügen Sie dann eine Validierung zum Formularelement hinzu, indem Sie die Warenmenge als Beispiel nehmen:
<el-form-item label="商品数量:" :prop="'productGroup.'+index+'.num'" :rules="productGroupRules.productGroupNum"> <el-input v-model="item.num" type="number" size="small" style="width:80px;"></el-input> </el-form-item>
Beachten Sie hier, dass :rules
für jedes Formularelement hinzugefügt werden muss. Wenn mehrere Formularelemente vorhanden sind, verwenden Sie das Formular productGroupRules.productGroupNum
, um sie entsprechend dem Inhalt in productGroupRules
oben zu unterscheiden.
Die andere wichtige Sache ist :prop
. Beachten Sie, dass das normale Verifizierungsformularelement prop
ist, aber hier ist es :prop
. :prop="'productGroup.'+index+'.num'"
ist in Form von Spleißen. Die Vorderseite ist das durch v-for gebundene Array, die Mitte ist der Array-Indexindex und die letzte ist der Name des an das Formularelement gebundenen V-Modells Dann verbinde sie mit Punkten. Es muss garantiert sein, dass alle drei Angaben korrekt sind, und selbst eine falsche Angabe kann nicht überprüft werden.
Außerdem ist zu beachten, dass das an v-for gebundene Array auch an das Formularobjekt gebunden sein muss:
form: { activityName: '', status: '1', productGroup: [{num:"",price:""}] } 如果是: form: { activityName: '', status: '1' }, productGroup: [{num:"",price:""}]
kann nicht verifiziert werden, bitte beachten Sie dies.
Okay, das Obige ist die Lösung für die Formularelementüberprüfung in der V-For-Schleife, wenn Vue die Element-Komponente verwendet. Ich hoffe, es kann Schülern helfen, die auf dieses Problem stoßen.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
So verwenden Sie den Vue-Übergang, um den gleitenden Übergang abzuschließen
Über Vue und das Vue-Validator-Formular Verifizierungsfunktionen Implementierung von
Das obige ist der detaillierte Inhalt vonInformationen zur Überprüfungsmethode für Formularelemente in der V-for-Schleife, wenn Vue die Elementkomponente verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

VUE Multi-Page-Entwicklung ist eine Möglichkeit, Anwendungen mithilfe des Vue.js-Frameworks zu erstellen, in dem die Anwendung in separate Seiten unterteilt ist: Code-Wartung: Die Aufteilung der Anwendung in mehrere Seiten kann das Verwalten und Wartungsbereich erleichtern. Modularität: Jede Seite kann als separates Modul für eine einfache Wiederverwendung und den Austausch verwendet werden. Einfaches Routing: Die Navigation zwischen Seiten kann durch einfache Routing -Konfiguration verwaltet werden. SEO -Optimierung: Jede Seite hat eine eigene URL, die SEO hilft.

Sie können die Vue -Version mit Vue Devtools abfragen, um die Registerkarte VUE in der Konsole des Browsers anzuzeigen. Verwenden Sie NPM, um den Befehl "npm list -g vue" auszuführen. Suchen Sie das Vue -Element im Objekt "Abhängigkeiten" der Datei package.json. Führen Sie für Vue -CLI -Projekte den Befehl "Vue --version" aus. Überprüfen Sie die Versionsinformationen im & lt; Skript & gt; Tag in der HTML -Datei, die sich auf die VUE -Datei bezieht.

Es gibt zwei Möglichkeiten, Divelemente in Vue zu springen: Verwenden Sie Vue Router und fügen Sie Router-Link-Komponente hinzu. Fügen Sie den @click Event -Listener hinzu und nennen Sie dies. $ Router.push () Methode zum Springen.
