美文网首页
el-form表单循环校验

el-form表单循环校验

作者: 非洲猫_lfd | 来源:发表于2023-01-09 12:41 被阅读0次

element-ui中el-form表单项循环渲染,并添加相关校验

关于这类功能需求,项目中还是挺常见的,所以今天抽空整理一下笔记。

效果图如下:

1673325546.png
话不多说,直接上代码(vue3)
<template>
    <el-form ref="formRef" :model="formList" :rules="rules" label-width="130px">
        <div v-for="(item, index) in formList.list" :key="index">
            <el-form-item
                :label="`名称${index + 1}`"
                :prop="`list[${index}].name`"
                :rules="rules.name"
            >
                <el-input v-model="item.name" placeholder="请输入" />
            </el-form-item>
            <el-form-item
                :label="`时间`"
                :prop="`list[${index}].time`"
                :rules="rules.time"
            >
                <el-time-picker
                    v-model="item.time"
                    value-format="HH:mm:ss"
                    placeholder="请选择时间"
                >
                </el-time-picker>
            </el-form-item>
        </div>
        <el-form-item label="备注" prop="remark">
            <el-input
                v-model="formList.remark"
                maxlength="200"
                placeholder="请输入"
                :autosize="{ minRows: 2, maxRows: 4 }"
                show-word-limit
                type="textarea"
            />
        </el-form-item>
        <el-form-item>
            <el-button type="primary" @click="onSubmit">提交</el-button>
        </el-form-item>
    </el-form>
</template>

<script setup>
import { ref } from 'vue';
import { ElMessage } from 'element-plus';

const formList = ref({
    list: [
        { name: '', time: '' },
        { name: '', time: '' },
    ],
    remark: '',
});
const formRef = ref();
const rules = ref({
    name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
    time: [{ required: true, message: '请选择时间', trigger: 'change' }],
});

const onSubmit = () => {
    formRef.value.validate((valid) => {
        if (valid) {
            ElMessage.success('提交成功!');
        } else {
            return false;
        }
    });
};
</script>

主要注意的点是循环的表单项 proprules的绑定。
文章来自(https://lifangdan.github.io/blog/views/frontEnd/vue/elForm.html

相关文章

  • el-form表单循环校验

    element-ui中el-form表单项循环渲染,并添加相关校验 关于这类功能需求,项目中还是挺常见的,所以今天...

  • voltType is not a string

    el-form表单校验时报错 项目需求要对输入的表单内容进行类型和长度校验,其他格式都没问题,唯独是数字类型和长度...

  • elementUI el-form validate方法不执行

    表单组件 el-form validate 方法不执行,检查自定义校验规则方法,是否执行了 callback 方法。

  • vue3 二次封装el-form表单

    二次封装el-form,理由无非就是多个地方用同一个表单,懒得重复写校验。 表单组件 组件的使用

  • elementUI中动态表单的校验

    首先需要再data中定义表单变量 循环的表单数据 表单的校验规则如下 通过给每一个循环的表单数据添加对应的校验规则...

  • Vue.js-ElementUI表单

    1 表单el-form 每个表单el-form由多个表单域el-form-item组成。默认情况,表单域是垂直分布...

  • element表单校验的几种方式(精品)

    1 element表单校验 1 普通校验写法 这都不懂的去看官方文档 2.循环el-form-item校验写法 3...

  • el-form表单循环验证

    需求如上图: 注释:1.prop绑定的参数,第一部分为v-for绑定的数组,中间为index,v-for需要加上i...

  • jquery each方法退出的问题

    问题: 今天碰到一个列表形式的表单校验需求,首先想到用jquery的each循环,然后校验结束,发现return ...

  • Element-UI表单验证

    校验规则 表单通过rules属性绑定校验规则对象,表单项通过prop属性绑定具体校验规则 注意校验的字段必须和表单...

网友评论

      本文标题:el-form表单循环校验

      本文链接:https://www.haomeiwen.com/subject/zsgpcdtx.html