文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ElementUI中<el-form>标签中ref、:model、:rules的作用浅析

2023-01-31 12:02

关注

首先看一下代码

<el-form
      ref="loginForm"
      :model="loginInfo"
      :rules="loginRules"
      class="login-form"
      auto-complete="on"
      label-position="left"
    >

ref 属性涉及Dom 元素的获取(el-form表单对象)。

javaSrcipt 获取Dom 元素是通过:document.querySelector(".input")获取dom元素节点 。

Vue 为简化DOM获取方法提出了ref 属性和$refs 对象。一般的操作流程是:ref 绑定控件,$refs 获取控件。

Element官方文档中写到:

model是表单数据对象,rules是表单验证规则。

Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可。

里面的逻辑大概是,在el-form-item上写一个prop,这个prop左手对应着数据源(即用model.prop找到对应的数据源),右手对应着验证规则(即用rules.prop找到对应的规则),然后进行验证。

补充:注意点

  1. :model的数据属性和:rules的属性相对应
  2. 一个el-form-item中有多个输入框,每个输入框都需要单独嵌套在el-form-item中,此操作可以单独校验每个输入框
  3. 日期类型的数据,校验要指定type:'date'
  4. 选择框的value为数值,校验需要指定type:'number'
  5. 单选按钮和多选按钮为数值,校验需要指定type:'number'
  6. 输入框想要转换成为数值类型,可以使用v-model.number,校验需要指定type:number'
  7. 输入框想要校验邮箱格式,只需要指定type:'email'
  8. 嵌套在el-input中的el-select不能实现联动校验,若想实现联动校验,需要@change自定义调用校验
  9. rules的简单校验有三个属性:required,message,trigger,分别为:是否必填,校验失败提示信息,校验时机
  10. 如果要自定义校验规则,需要属性validator:(rule,value,callback)=>{手动校验代码块},rule参数数据很丰富,为一个Object类型的数据,有field,type,validator,required等属性,value为:model属性的值,callback(str)为要返回的信息
  11. 单选框,多选框,日期框,选择框的校验时机都应该指定为change,符合业务场景
  12. 动态添加或删除form表单的组件,需要动态配置好label,prop,rule的数据,删除按钮需要注意代码let index = array.indexOf(item)和array.splice(index,1)
  13. 重置按钮:this.$refs['refName'].resetFields();,清空了校验,表单数据也恢复初始值
  14. 校验单个组件:this.$refs['refName'].validateField('propName');进行了单个校验
  15. 校验全部:this.$refs['refName'].validate(valid=>{});表单整体校验,一般提交按钮需要触发全部校验

总结

到此这篇关于ElementUI中&lt;el-form&gt;标签中ref、:model、:rules的作用浅析的文章就介绍到这了,更多相关el-form标签中ref、:model、:rules作用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯