Element-ui 表单的基础使用

2023-10-30

1. 基本三大组件

<el-form>
  <el-form-item>
    <el-input/>
  </el-form-item>
</el-form>

2. 数据收集

        在 el-form 上面指定 model,在 el-input 组件加 v-model 进行双向数据绑定

3. 数据校验

el-form 上面指定 rules 校验规则,在 el-form-item 组件加 prop,指定要校验的字段

<template>
  <div id="app">
    <!-- 卡片组件 -->
    <el-card class="login-card">
      <!-- 登录表单 -->
      <el-form style="margin-top: 50px" :model="loginForm" :rules="loginRules">
        <el-form-item prop="mobile">
          <el-input v-model="loginForm.mobile" placeholder="请输入手机号" />
        </el-form-item>
        <el-form-item prop="password">
          <el-input v-model="loginForm.password" placeholder="请输入密码" />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" style="width: 100%">登录</el-button>
        </el-form-item>
      </el-form>
    </el-card>
  </div>
</template>

<script>
export default {
  name: "App",
  components: {},
  data() {
    return {
      loginForm: {
        mobile: "",
        password: ""
      },
      loginRules: {
        mobile: [
          { required: true, message: "手机号不能为空", trigger: "blur" },
          {
            pattern: /^1[3-9]\d{9}$/,
            message: "请输入正确的手机号",
            trigger: "blur"
          }
        ],
        password: [
          { required: true, message: "密码不能为空", trigger: "blur" },
          {
            min: 6,
            max: 16,
            message: "密码应为6-16位的长度",
            trigger: "blur"
          }
        ]
      }
    };
  }
};
</script>

3.1自定义校验规则

<script>
export default {
  name: 'App',
  data() {
    const customValidatorMobile = (rule, value, callback) => {
      // 无论符不符合规则,都要调用 callback,只不过,校验失败要传递一个错误对象,校验成功不用传递任何内容
      value[2] === '9' ? callback() : callback(new Error('第三个数字必须是 9'))
    }
    return {
      loginRules: {
        mobile: [
          {
            validator: customValidatorMobile,
            trigger: 'blur'
          }
        ],
      }
    }
  }
}
</script>

3.2 表单预校验,当所有的内容都符合规则了,才去调用对应的接口

<el-form ref="loginFormRef"></el-form>
async handleSubmit() {
  this.$refs['loginFormRef'].validate(function(valid) {
    if (!valid) return console.log('失败')
    // 发请求调用接口
  })
  // 这里不能直接调用接口
  /* this.$refs['loginFormRef'].validate().then(() => {
    // 发请求调用接口
  }).catch(() => {
    // 预校验失败,弹框提示
  }) */
  /* try {
    await this.$refs['loginFormRef'].validate()
    // 预校验通过调用接口
  } catch (e) {
    // 预校验失败,弹框提示
    console.log(e.message, 23)
  } */}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Element-ui 表单的基础使用 的相关文章

  • Angular - 如何从 DOM 中删除我使用过 $compile 的元素?

    我需要的是两个 ng views 的功能 因为我不能 我想更改某些内容的innerHTML 并编译它 我遇到的问题是 当我再次更改内容时 我可以编译 但是 Angular 是否会自行删除绑定 或者我必须手动执行此操作 如果是这样 怎么办 编
  • Javascript Promise“then”始终运行,即使 Promise 未能执行

    我希望当调用第二个 then 时不执行第三个 then 但是 即使 Promise 被拒绝 调用第二个 then 并且代码返回 rejected 然后返回 undefined 它仍然调用第三个 then 如何不运行第三个 then 这样 未
  • 为什么 iife 在一个简单的例子中不起作用?

    我不明白为什么函数表达式调用不起作用并抛出错误 你能给我解释一下吗 var a function x alert x function a 1 谢谢大家 任务比我想象的要容易得多 这是因为 JS 将 IIFE 解析为函数的参数调用 这样做时
  • 摩卡 - Chai Karma“套件未定义”

    我对 jscript tdd 很陌生 遇到了问题 希望有人能告诉我我在做什么 在浏览器中运行测试 通过 HTML 文件 一切正常 通过节点和业力运行它们我得到以下异常 我想在 node js 主机的 karma 中使用 Mocha 和 Ch
  • 隐藏 Div 的父级

    我只是想隐藏父divcomments section div class content content green div div div 我试过这个 document getElementById comments section pa
  • React-Redux:state.setIn() 和 state.set() 有什么区别?

    我见过使用setIn and set 在一些react redux代码中 state setIn state set 我在这里找到了一些文档https facebook github io immutable js https facebo
  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • 如何制作没有 ng-repeat 的模板并使用 Angular-drag-and-drop-lists 将数据传递到 $scope?

    我想用角度拖放列表 https github com marceljuenemann angular drag and drop lists使用我自己的网格模板到所见即所得编辑器 如何构建我自己的 HTML 模板而不需要ng repeat因
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • 为什么我们在打字稿中使用 HTMLInputElement ?

    我们为什么使用 document getElementById ipv as HTMLInputElement value 代替 document getElementById ipv value 功能getElementById返回具有类
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • 日期出现奇怪的错误,“未捕获非法访问”

    所以我试图找到最新的DateJavascript 可以处理 我把它减少到 9 月 275760 并增加了我开始捕获未捕获的天数illegal access例外new Date 09 24 275760 to new Date 10 13 2
  • Three.js 各种大小的粒子

    我是 Three js 的新手 正在尝试找出添加 1000 个粒子的最佳方法 每个粒子都有不同的大小和颜色 每个粒子的纹理是通过绘制画布创建的 通过使用粒子系统 所有粒子都具有相同的颜色和大小 为每个粒子创建一个粒子系统是非常低效的 有没有
  • 对于只触及我的工作表的 Google 表格脚本,收到“此应用程序未经验证”

    我正在编写一个 Google Sheets 脚本 我只想访问与 gs 文件关联的同一电子表格中的数据 似乎我应该有权在自己的电子表格中运行脚本 但是每当我运行一个函数时 我都会得到一个This app isn t verified信息 我该
  • 在 JavaScript 循环之外声明变量可以提高速度和内存?

    C 也有类似的问题 但我们没有看到 JavaScript 的任何问题 在循环内声明变量是否可以接受 假设循环有 200 次迭代 使用样本 2 相对于样本 1 是否有性能要求 内存和速度 我们使用 jQuery 来循环 它提高了我们将 var
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro

随机推荐

  • 成员变量和局部变量

    成员变量和局部变量的区别 1 成员变量是独立于方法外的变量 局部变量是类的方法中的变量 成员变量 包括实例变量和类变量 用static修饰的是类变量 不用static修饰的是实例变量 所有类的成员变量可以通过this来引用 2 局部变量 包
  • arthas底层实现原理剖析

    前言 经常在应用的启动或者运行过程中需要动态的查看数据 或者实时的验证我们写的代码的结构与执行过程 此时需要一种工具能够动态的检测程序运行的状态 内存数据 线程情况 最好能够动态的替换代码实时生效 方便我们从日志或者其他埋点断言我们的猜测
  • 机器视觉解决方案 首选诺威特

    机器视觉解决方案 首选诺威特 诺威特简介 诺威特 NOVTEC 成立于2003年 总部位于江苏苏州 是专业从事测试解决方案的高科技企业 为企业和研究机 构提供大量高端的测试仪器设备解决方案 使用人工智能Artificial intellig
  • QT 使用QZXing生成,解析二维码跟条码

    1 下载QZXing库 为什么要下载QZXing库 而不直接使用编译好的库文件 因为每个人使用的编译环境是不一样的 使用的编译器也不尽相同 不同编译器编译出来的库放到不同编译器下则不一定能够使用 至少我是这么理解的 使用别人的也经常出现崩溃
  • 【华为OD机试】告警抑制【2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • vbs中遍历子目录寻找特定文件

    转载 https blog csdn net hywerr article details 70228086 递归函数如下 Function FileExsitInDirectory fso As Object filename As St
  • 64位操作系统(WIN10)+32位LabVIEW(2020)+64位MySQL,Windows10系统下用32位ODBC连接MySQL

    1 首先得安装 Connector ODBC 就是MySQL的ODBC驱动 这个是与应用程序相关的 而不是与操作系统相关的 也就是说 不管你的系统是X64还是X86 只要你的应用程序是X86的那么 Connector ODBC 就要安装X8
  • cordova环境搭建以及打包apk

    1 安装node JS 2 安装ant 载连接 http ant apache org 下载完成之后解压到你想安装的目录 比如D ant 然后将目录添加到系统变量里 步骤如下 右击我的电脑 点击属性 左侧菜单点击高级系统设置 在弹窗中点击环
  • 【发现】国产007里面星爷挖子弹时看的电影~~~~

    Educating Mandy 春潮烂漫海棠红 影片名称 Educating Mandy 春潮烂漫海棠红 主演女优 Traci Lords 翠希 劳艾德 呵呵 今天逛论坛的时候看到了 转载于 https www cnblogs com bo
  • 动物识别专家系统(Java实现已开源)

    动物识别专家系统 产生式系统 问题定义 系统实现 规则 事实和产生式的表示 类的设计 匹配顺序 推理机 结果演示 源代码 产生式系统 规则库 规则库是用于描述相应领域内知识的产生式集合 它是产生式系统求解问题的基础 其中对领域知识表达的完整
  • RabbitMQ之Work Queues

    工作队列 又称任务队列 的主要思想是避免立即执行资源密集型任务 而不得不等待它完成 相反我们安排任务在之后执行 我们把任务封装为消息并将其发送到队列 在后台运行的工作进 程将弹出任务并最终执行作业 当有多个工作线程时 这些工作线程将一起处理
  • 实战案例之瀑布流效果

    前言 从服务器获取需要展示的数据 图片大小不一致 大中 中 小 每次从服务器获取三条数据 依次插入到三列中 每一列的宽度是一样的 弊端 可能导致某一列特别的高 而某一列特别的矮 瀑布流 需求分析 最终期望三列的高度差距应该是不大的才可以 最
  • .net core 集成Redis

    第一步 引用StackExchange Redis 第二步 初始化 private string constr 127 0 0 1 6379 allowadmin true connect ConnectionMultiplexer Con
  • 【图像重建】基于ADMM的tv正则化最小化稀疏实现图像重建附matlab代码

    1 简介 2 部分代码 This simple demo examines if TVAL3 works normally Please try more demos in the Demos directory which would s
  • Unity的C#编程教程_28_switch语句

    switch 其实就是 else if 的替代品 可以让代码更简洁清晰 如果你用了 2 个或者以上的 eles if 那就考虑下能否改成 switch 比如一个游戏得分评价系统 using System Collections using
  • Tiled-免费2D游戏场景Tile编辑器

    Tiled 1 是一款免费2D游戏场景Tile编辑器 Tiled支持正方形 平行四边形和六边形Tile 同时Tiled也支持在场景上画矩形 用户手册 Tiled有详细的用户手册 2 罗列了编辑器所有的功能 有不少高级功能 适合程序员了解 场
  • 思科交换机密码破解

    思科交换机密码破解 A 1 打开电脑中SecureCRT软件 或者下载windows7 超级终端 v1 01 绿色版 hypertrm exe 把port COM3 不具体 需要查看电脑的端口具体为多少 和Baud rate 波特率 默认为
  • 生成测试数据的4种方法、5种工具介绍

    在软件测试中 测试数据是测试用例的基础 对测试结果的准确性和全面性有着至关重要的影响 因此 在进行软件测试时 需要生成测试数据以满足测试场景和要求 本文将介绍什么情况下需要生成测试数据 如何生成测试数据 以及一些常用的测试数据生成工具 1
  • mac Android studio3.2版本安装+环境搭建

    Android studio3 2安装 1 下载android studio 2 下载sdk manager 3 打开sdk manager 4 sdk manager需要设置代理才可以正常更新 mirrors zzu edu cn 80
  • Element-ui 表单的基础使用

    1 基本三大组件