vue element plus Form 表单

简介: vue element plus Form 表单

表单包含 输入框, 单选框, 下拉选择, 多选框 等用户输入的组件。 使用表单,您可以收集、验证和提交数据。

TIP

Form 组件已经从 2. x 的 Float 布局升级为 Flex 布局。

典型表单#

最基础的表单包括各种输入表单项,比如inputselectradiocheckbox等。

在每一个 form 组件中,你需要一个 form-item 字段作为输入项的容器,用于获取值与验证值。

Activity name

Activity zone

please select your zone

Activity time

-

Instant delivery

Activity type

Online activitiesPromotion activitiesOffline activitiesSimple brand exposure

Resources

SponsorVenue

Activity form

CreateCancel

TIP

W3C 标准定义:

当一个表单中只有一个单行文本输入字段时, 浏览器应当将在此字段中按下 Enter (回车键)的行为视为提交表单的请求。 如果希望阻止这一默认行为,可以在 <el-form> 标签上添加 @submit.prevent

行内表单#

当垂直方向空间受限且表单较简单时,可以在一行内放置表单。

通过设置 inline 属性为 true 可以让表单域变为行内的表单域。

Approved by

Activity zone

Activity zone

Activity time

Query

对齐方式#

根据你们的设计情况,来选择最佳的标签对齐方式。

通过设置 label-position 属性可以改变表单域标签的位置,可选值为 topleft, 当设为 top 时标签会置于表单域的顶部

LeftRightTop

Name

Activity zone

Activity form

表单校验#

Form 组件允许你验证用户的输入是否符合规范,来帮助你找到和纠正错误。

Form 组件提供了表单验证的功能,只需为 rules 属性传入约定的验证规则,并将 form-Itemprop 属性设置为需要验证的特殊键值即可。 更多高级用法可参考 async-validator

Activity name

Activity zone

Activity zone

Activity count

Activity count

Activity time

-

Instant delivery

Activity type

Online activitiesPromotion activitiesOffline activitiesSimple brand exposure

Resources

SponsorshipVenue

Activity form

CreateReset

自定义校验规则#

这个例子中展示了如何使用自定义验证规则来完成密码的二次验证。

本例还使用status-icon属性为输入框添加了表示校验结果的反馈图标。

Password

Confirm

Age

SubmitReset

TIP

自定义的校验回调函数必须被调用。 更多高级用法可参考 async-validator

添加/删除表单项#

除了一次通过表单组件上的所有验证规则外. 您也可以动态地通过验证规则或删除单个表单字段的规则。

Email

Domain0

Delete

SubmitNew domainReset

数字类型验证#

数字类型的验证需要在 v-model 处加上 .number 的修饰符,这是 Vue 自身提供的用于将绑定值转化为 number 类型的修饰符。

age

SubmitReset

TIP

当一个 el-form-item 嵌套在另一个 el-form-item时,其标签宽度将是 0。 如果需要可以为 el-form-item 单独设置 label-width 属性。

尺寸控制#

表单中的所有子组件都继承了该表单的 size 属性。 同样,form-item 也有一个 size 属性。

如果希望某个表单项或某个表单组件的尺寸不同于 Form 上的 size 属性,直接为这个表单项或表单组件设置自己的 size 属性即可。

largedefaultsmall

LeftRightTop

Activity name

Activity zone

please select your zone

Activity time

-

Activity type

Online activitiesPromotion activities

Resources

SponsorVenue

CreateCancel

无障碍#

当在 el-form-item 内只有一个输入框(或相关的控制部件,如选择或复选框),表单项的标签将自动附加在那个输入框上。 然而,如果同时有多个输入框在 el-form-item内, 表单项将被分配为 WAI-ARIA 的角色。 在这种情况下,需要手动给每个 input 指定访问标签。

"Full Name" label is automatically attached to the input:

Full Name

"Your Information" serves as a label for the group of inputs.

You must specify labels on the individal inputs. Placeholders are not replacements for using the "label" attribute.

Your Information

Form API#

Form Attributes#

属性名 说明 类型 默认值
model 表单数据对象 object
rules 表单验证规则 object
inline 行内表单模式 boolean false
label-position 表单域标签的位置, 当设置为 leftright 时,则也需要设置 label-width 属性 enum right
label-width 标签的长度,例如 '50px'。 作为 Form 直接子元素的 form-item 会继承该值。 可以使用 auto string / number ''
label-suffix 表单域标签的后缀 string ''
hide-required-asterisk 是否隐藏必填字段标签旁边的红色星号。 boolean false
require-asterisk-position 星号的位置。 enum left
show-message 是否显示校验错误信息 boolean true
inline-message 是否以行内形式展示校验信息 boolean false
status-icon 是否在输入框中显示校验结果反馈图标 boolean false
validate-on-rule-change 是否在 rules 属性改变后立即触发一次验证 boolean true
size 用于控制该表单内组件的尺寸 enum
disabled 是否禁用该表单内的所有组件。 如果设置为 true, 它将覆盖内部组件的 disabled 属性 boolean false
scroll-to-error 当校验失败时,滚动到第一个错误表单项 boolean false
scroll-into-view-options 2.3.2 当校验有失败结果时,滚动到第一个失败的表单项目 可通过 scrollIntoView 配置 object / boolean

Form 事件#

名称 说明 类型
validate 任一表单项被校验后触发 Function

Form Slots#

事件名 说明 子标签
default 自定义默认内容 FormItem

Form Exposes#

名称 说明 类型
validate 对整个表单的内容进行验证。 接收一个回调函数,或返回 Promise Function
validateField 验证具体的某个字段。 Function
resetFields 重置该表单项,将其值重置为初始值,并移除校验结果 Function
scrollToField 滚动到指定的字段 Function
clearValidate 清理某个字段的表单验证信息。 Function

FormItem API#

FormItem Attributes#

属性名 说明 类型 Default
prop model 的键名。 它可以是一个属性的值(如 a.b.0[a', 'b', '0'])。 在使用了 validateresetFields 的方法时,该属性是必填的。 string / string[]
label 标签文本 string
label-width 标签宽度,例如 '50px'。 可以使用 auto string / number ''
required 是否为必填项,如不设置,则会根据校验规则确认 boolean
rules 表单验证规则, 具体配置见下表, 更多内容可以参考async-validator object
error 表单域验证错误时的提示信息。设置该值会导致表单验证状态变为 error,并显示该错误信息。 string
show-message 是否显示校验错误信息 boolean true
inline-message 是否在行内显示校验信息 string / boolean ''
size 用于控制该表单域下组件的默认尺寸 enum
for 和原生标签相同能力 string
validate-status formitem 校验的状态 enum
FormItemRule#
名称 说明 类型 默认值
trigger 验证逻辑的触发方式 enum

TIP

如果您不想根据输入事件触发验证器, 在相应的输入类型组件上设置 validate-event 属性为 false (<el-input>, <el-radio>, <el-select>, . ……).

FormItem Slots#

插槽名 说明 类型
default 表单的内容。
label 标签位置显示的内容 object
error 验证错误信息的显示内容 object

FormItem Exposes#

名称 说明 类型
size 表单项大小 object
validateMessage 校验消息 object
validateState 校验状态 object
validate 验证表单项 Function
resetField 对该表单项进行重置,将其值重置为初始值并移除校验结果 Function
clearValidate 移除该表单项的校验结果 Function

类型声明#

显示类型声明

源代码#

组件文档

相关文章
|
6月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
588 2
|
5月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
496 137
|
9月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
1026 0
|
9月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
8月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
622 1
|
9月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
623 17
|
8月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
425 0
|
9月前
|
JavaScript 前端开发 UED
Vue 表情包输入组件实现代码及详细开发流程解析
这是一篇关于 Vue 表情包输入组件的使用方法与封装指南的文章。通过安装依赖、全局注册和局部使用,可以快速集成表情包功能到 Vue 项目中。文章还详细介绍了组件的封装实现、高级配置(如自定义表情列表、主题定制、动画效果和懒加载)以及完整集成示例。开发者可根据需求扩展功能,例如 GIF 搜索或自定义表情上传,提升用户体验。资源链接提供进一步学习材料。
583 1
|
9月前
|
存储 JavaScript 前端开发
如何高效实现 vue 文件批量下载及相关操作技巧
在Vue项目中,实现文件批量下载是常见需求。例如文档管理系统或图片库应用中,用户可能需要一次性下载多个文件。本文介绍了三种技术方案:1) 使用`file-saver`和`jszip`插件在前端打包文件为ZIP并下载;2) 借助后端接口完成文件压缩与传输;3) 使用`StreamSaver`解决大文件下载问题。同时,通过在线教育平台的实例详细说明了前后端的具体实现步骤,帮助开发者根据项目需求选择合适方案。
902 0
|
9月前
|
JavaScript 前端开发 UED
Vue 项目中如何自定义实用的进度条组件
本文介绍了如何使用Vue.js创建一个灵活多样的自定义进度条组件。该组件可接受进度段数据数组作为输入,动态渲染进度段,支持动画效果和内容展示。当进度超出总长时,超出部分将以红色填充。文章详细描述了组件的设计目标、实现步骤(包括props定义、宽度计算、模板渲染、动画处理及超出部分的显示),并提供了使用示例。通过此组件,开发者可根据项目需求灵活展示进度情况,优化用户体验。资源地址:[https://pan.quark.cn/s/35324205c62b](https://pan.quark.cn/s/35324205c62b)。
458 0