您好,登錄后才能下訂單哦!
小編給大家分享一下vue2.0+ele如何實現循環表單及驗證字段,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
html代碼
<el-form ref="ruleForm" :inline="true" :model="form" label-width="140px" :rules="rules" v-loading.fullscreen.lock="fullScreenLoading" element-loading-text="拼命加載中..."> <div v-for="(item, index) in form.xh" @click="handleindex(index)"> <el-form-item label="賬號" prop="tel"> <el-input v-model="item.tel" ></el-input> </el-form-item> <el-form-item label="姓名" prop="nickname" v-show="item.isnickname"> <el-input v-model="item.nickname"></el-input> </el-form-item> </div> <el-form-item label="年齡" prop="age"> <el-input v-model="form.age"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button> <el-button @click="onCancel">取消</el-button> </el-form-item> </el-form>
script代碼
//引入接口 import { fetchdata, } from 'src/api/login' export default { var checkTel = (rule, value, callback) => { //循環判斷這里是關鍵,這樣做才可以對循環里每一條做判斷 for (let i = 0; i < this.form.xh.length; i++) { value = this.form.xh[i].tel; var vdt = this.VDT.vdata(value, { //這里需要你自己去在另一個文件里配上 'required': {msg: '請填寫賬號'} }); if (!vdt.result) { callback(new Error(vdt.msg)); } else { callback(); } } }; var checkNickname = (rule, value, callback) => { for (let i = 0; i < this.form.xh.length; i++) { //先判斷有沒有姓名,假使nickname為false那就不要驗證 if (this.form.xh[i].isNickname) { value = this.form.xh[i].nickname; var vdt = this.VDT.vdata(value, { //這里需要你自己去在另一個文件里配上 'required': {msg: '請填寫姓名'} }); if (!vdt.result) { callback(new Error(vdt.msg)); } else { callback(); } } else { callback(); } } }; //因為這里不是循環里面的,所以value對應的值就一個故可直接使用 var checkAge = (rule, value, callback) => { var vdt = this.VDT.vdata(value, {'required': {msg: '請填寫年齡'}}); if (!vdt.result) { callback(new Error(vdt.msg)); } else { callback(); } }; return { form: { xh:[{ tel, nickname, isnickname:false, //附一個初始值,默認不顯示。 }], age:'', id:'1', }, rules: { tel: [{required: true, validator:checkTel,trigger: 'blur',}], nickname: [{required: true, validator:checkNickname,trigger: 'blur',}], age: [{required: true, validator:checkAge,trigger: 'blur',}], }, }, }, created() { this.getData(); }, methods: { getData() { this.fullScreenLoading = true; fetchdata(this.id).then(response => { //這里請求對應的接口 if(response.data.success == true) { this.fullScreenLoading = false; this.form = response.data.data; //返回數據賦給表單 }else{ this.fullScreenLoading = false; return false; } } } }
以上是“vue2.0+ele如何實現循環表單及驗證字段”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。