vue+elementUI實現動態增加表單項並新增驗證
vue+elementUI實現動態增加表單項並新增驗證
參考elementUI官網以及網上的其他一些資料。話不多說,直接貼程式碼。
htmt部分:
<el-form :model="environmentForm" ref="environmentForm">
<el-row :gutter="24"
v-for="(item, index) in environmentForm.items"
:key="item.key"
>
<el-col :span="6">
<el-form-item
:prop="'items.' + index + '.name'"
:rules="{required: true, message: '名稱不能為空', trigger: 'blur'}"
>
<el-input v-model="item.name"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item
:prop="'items.' + index + '.variable'"
:rules="{required: true, message: '變數值不能為空', trigger: 'blur'}"
>
<el-input v-model="item.variable"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item
:prop="'items.' + index + '.description'"
:rules="{required: true, message: '描述不能為空', trigger: 'blur'}"
>
<el-input type="textarea" :rows="1" v-model="item.description"></el-input>
</el-form-item>
</el-col>
<el-col :span="3" v-if="environmentForm.items.length !== 1" >
<i @click="removeEnvironmentForm(item)"
style="font-size:28px;cursor:pointer;"
class="el-icon-delete"></i>
</el-col>
<el-col :span="3" >
<el-button @click="addEnvironmentForm" size="mini" class="el-icon-plus"></el-button>
</el-col>
</el-row>
<el-form-item>
<el-button type="primary" @click="submitForm('environmentForm')">提交</el-button>
<el-button @click="resetForm('environmentForm')">重置</el-button>
</el-form-item>
</el-form>
js部分:
<script>
export default {
data () {
return {
environmentForm: {
items: [{
name: '',
variable: '',
description: ''
}]
}
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
console.log('提交',this.environmentForm);
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
},
removeEnvironmentForm(item) {
var index = this.environmentForm.items.indexOf(item)
if (index !== -1) {
this.environmentForm.items.splice(index, 1)
}
},
addEnvironmentForm() {
this.environmentForm.items.push({
name: '',
variable: '',
description: '',
key: Date.now()
});
},
}
}
</script>
實現效果如下,當只有一行時,刪除按鈕是隱藏的。
相關文章
- Vue+ElementUI實現表單動態渲染、視覺化配置VueUI視覺化
- 純CSS實現表單驗證CSS
- vue+elementUI 複雜表單的驗證、資料提交方案VueUI
- 【react】實現動態表單中巢狀動態表單React巢狀
- 利用jQuery實現表單驗證功能jQuery
- web動態驗證碼的實現Web
- 表單驗證失敗出現閃動
- 實現elementUI表單的全域性驗證UI
- JavaScript 表單驗證程式碼例項JavaScript
- 簡單介紹v-for中動態校驗el-form表單項的實踐ORM
- 實現單項鍊表
- 簡單幾步實現滑動驗證碼(後端驗證)後端
- Vue+Element+JS動態生成form表單實現新增和刪除操作VueJSORM
- 實現動態表單的一種思路
- 實戰表單驗證學習
- jquery 實現滑動條的簡單驗證jQuery
- angular中關於表單動態驗證的一種新思路Angular
- 從零實現一個Vue表單驗證外掛Vue
- Spring boot 生成動態驗證碼並前後端校驗Spring Boot後端
- vue 實戰表單驗證規則Vue
- Laravel 表單驗證Laravel
- javascript表單驗證JavaScript
- bootstrap表單驗證boot
- bootstrapValidator 表單驗證boot
- JavaScript 表單驗證JavaScript
- antd 表單驗證
- Kubernetes 兩步驗證 - 使用 Serverless 實現動態准入控制Server
- 影片直播原始碼,前端canvas動態驗證碼實現原始碼前端Canvas
- 使用 Zig 實現自動化登入並處理驗證碼
- 使用 ActionScript 實現簡單滑動驗證碼識別
- css3動畫實現數字動態增加CSSS3動畫
- 表單required 必需驗證UI
- HTML 表單驗證概述HTML
- 表單資料驗證
- 表單驗證 regex:pattern
- 輸入表單驗證
- 路由表單驗證路由
- vue表單驗證你真的會了嗎?元件之表單驗證(form)validateVue元件ORM