当前位置: 首页 > news >正文

element-plus 表单组件 之element-form

elment-plus的表单组件的标签有el-form,el-form-item。
单个el-form标签内包裹若干个el-form-item,el-form-item包裹具体的表单组件,如输入框组件,多选组件,日期组件等。

el-form组件的主要作用是:提供统一的布局给其他表单组件,其他组件可以继承表单组件的size,以及规则校验

form表单主要属性如下:

属性名说明默认值
model表单数据对象
rules表单验证规则
inline行内表单模式false
label-positionleft right label-widthright
label-width‘50px’ auto‘’
show-message是否显示校验错误信息true
inline-message是否以行内形式展示校验信息false
status-icon是否在输入框中显示校验结果反馈图标false
size表单尺寸

form-item 主要属性如下:

属性名说明默认值
propvalidate,resetField时使用,一般和v-model值保持一致
label标签文本

用法示例

<script setup lang="ts">
import { onMounted, reactive, ref } from 'vue'
import type { FormInstance,FormRules  } from 'element-plus'const formRef = ref<FormInstance>()interface Good {goodName:stringstock:numbercreateDate:Datedescription:string
}const checkStock = (rule: any, value: any, callback: any) => {console.log("checkStock ",value)if (!value) {return callback(new Error('Please input the age'))}setTimeout(() => {if (!Number.isInteger(value)) {callback(new Error('Please input digits'))} else {if (value < 10) {callback(new Error('stock must be greater than 10'))} else {callback()}}}, 1000)
}const ruleForm=reactive<FormRules<Good>>({goodName:[{required:true,message:"please input goodName",trigger:'change'}],stock:[{validator:checkStock}]
})const goodForm=ref<Good>({goodName:"",stock:10,createDate:new Date(),description:""
});const submitForm=()=>{formRef.value.validate((valid:Boolean)=>{if (valid){console.log("submit success ",goodForm) ;}else{console.log("form validate error ");}})
}const resetForm=()=>{formRef.value.resetFields()
}</script><template><el-form :model="goodForm" status-icon label-position="left" label-width="auto" ref="formRef" :rules="ruleForm"><el-form-item label="goodName" prop="goodName"><el-input v-model="goodForm.goodName" placeholder="please enter goodName"></el-input></el-form-item><el-form-item label="stock" prop="stock"><el-input-number  v-model="goodForm.stock" :step="1"></el-input-number></el-form-item><el-form-item label="createDate" prop="createDate"><el-date-picker type="date" v-model="goodForm.createDate" format="YYYY-MM-DD" clearable></el-date-picker></el-form-item><el-form-item label="description" prop="description"><el-input type="textarea" v-model="goodForm.description" placeholder="please enter description"></el-input></el-form-item><el-form-item><el-button type="primary" @click="submitForm">submit</el-button><el-button @click="resetForm">reset</el-button></el-form-item></el-form></template><style scoped></style>

在这里插入图片描述
https://element-plus.org/zh-CN/component/form.html#form-attributes

http://www.lryc.cn/news/380544.html

相关文章:

  • redis持久化主从哨兵分片集群
  • IOS Swift 从入门到精通: 结构体的访问控制、静态属性和惰性
  • SQL题:未完成率较高的50%用户近三个月答卷情况
  • 挑战与机遇的交织
  • Java项目:基于SSM框架实现的精品酒销售管理系统分前后台【ssm+B/S架构+源码+数据库+毕业论文】
  • [论文笔记]Are Large Language Models All You Need for Task-Oriented Dialogue?
  • Django 模版过滤器
  • 计算机组成原理 —— 存储系统(DRAM和SRAM,ROM)
  • 第22篇 Intel FPGA Monitor Program的使用<五>
  • 网信办公布第六批深度合成服务算法备案清单,深兰科技大模型入选
  • ES 8.14 向量搜索优化
  • 查看 MAC 的 shell 配置文件
  • 前端下载文件流,axios设置responseType: arraybuffer/blob无效
  • 动手学深度学习(Pytorch版)代码实践 -卷积神经网络-14模型构造
  • Django 模版转义
  • [数据集][目标检测]药片药丸检测数据集VOC+YOLO格式152张1类别
  • Android SurfaceFlinger——HWC图层合成器加载(四)
  • OpenCV--图像金字塔
  • 创意产业如何应对AI的挑战。
  • 设计模式——工厂方法模式
  • apksigner jarsigner.md
  • 在SQL中使用explode函数展开数组的详细指南
  • JavaScript 预编译与执行机制解析
  • 多路h265监控录放开发-(12)完成全部开始录制和全部停止录制代码
  • Redis源码学习:Redis对象和5种数据类型的工作原理
  • 从理论到实践掌握UML
  • LabVIEW Windows与RT系统的比较与选择
  • docker搭建mongo副本集
  • 关于Pytorch转换为MindSpore的一点建议
  • JetBrains IDEA 新旧UI切换