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

ElementUI之使用以及表单验证

文章目录

  • 使用ElementUI
    • 使用在线引入的方式
    • 使用脚手架引入
      • 全部引入
      • 按需引入
  • 表单的使用
    • 表单组件官网
    • 表单验证

使用ElementUI

使用在线引入的方式

由于ElementUI是**基于Vue2的组件库**,所以在线引入需要先引入Vue2,在去引入ElementUI。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>引入Element组件</title><!-- 引入Element样式 --><link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head><body><div id="app" ><el-button type="primary">主要按钮</el-button></div></body>
<!-- 引入Vue2语法 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.16"></script>
<!-- 引入Element组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>new Vue({el: '#app',data() {return {}},methods: {}})
</script></html>

演示
在这里插入图片描述

使用脚手架引入

全部引入

按需引入

表单的使用

表单组件官网

我们进入官网的表单官网直接复制代码:
https://element.eleme.cn/#/zh-CN/component/form#dong-tai-zeng-jian-biao-dan-xiang

表单验证

我们以表达验证进行演示
在这里插入图片描述
点击选择源码进行使用
在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>引入Element组件</title><!-- 引入样式 --><link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"><style>.demo-ruleForm{width: 600px;margin: 0 auto;}</style>
</head><body><div id="app" ><!-- 通过查看官网我们知道 label-width是表单域标签的宽度 --><!---ruleFormRef 用于获取元素实例。 ---><!-- :rules 表单验证规则--><el-form :model="ruleForm" :rules="rules" ref="ruleFormRef" label-width="100px" class="demo-ruleForm"><!-- prop="name": 表单域 model 字段,在使用 validate、resetFields 方法的情况下,该属性是必填的--><!-- 注意 prop 必须和<el-form>的 model对象中的字段名​​严格一致 这里是和ruleForm对象的属性一致,否则校验不生效--><!-- 注意 prop的值需与验证规则 rules对象的键名匹配(如 rules: { name: [ ... ] }) --><!-- prop本质就是把 :model="ruleForm" 和 :rules="rules"连接在一起,起一个桥梁的作用--><el-form-item label="活动名称" prop="name"><!-- v-model双向绑定 --><el-input v-model="ruleForm.name"></el-input></el-form-item><el-form-item label="活动区域" prop="region"><el-select v-model="ruleForm.region" placeholder="请选择活动区域"><el-option label="区域一" value="shanghai"></el-option><el-option label="区域二" value="beijing"></el-option></el-select></el-form-item><el-form-item label="活动时间" required><el-col :span="11"><el-form-item prop="date1"><el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.date1"style="width: 100%;"></el-date-picker></el-form-item></el-col><el-col class="line" :span="2">-</el-col><el-col :span="11"><el-form-item prop="date2"><el-time-picker placeholder="选择时间" v-model="ruleForm.date2" style="width: 100%;"></el-time-picker></el-form-item></el-col></el-form-item><el-form-item label="即时配送" prop="delivery"><el-switch v-model="ruleForm.delivery"></el-switch></el-form-item><el-form-item label="活动性质" prop="type"><el-checkbox-group v-model="ruleForm.type"><el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox><el-checkbox label="地推活动" name="type"></el-checkbox><el-checkbox label="线下主题活动" name="type"></el-checkbox><el-checkbox label="单纯品牌曝光" name="type"></el-checkbox></el-checkbox-group></el-form-item><el-form-item label="特殊资源" prop="resource"><el-radio-group v-model="ruleForm.resource"><el-radio label="线上品牌商赞助"></el-radio><el-radio label="线下场地免费"></el-radio></el-radio-group></el-form-item><el-form-item label="活动形式" prop="desc"><el-input type="textarea" v-model="ruleForm.desc"></el-input></el-form-item><el-form-item><el-button type="primary" @click="submitForm('ruleFormRef')">立即创建</el-button><el-button @click="resetForm('ruleFormRef')">重置</el-button></el-form-item></el-form></div></body>
<!-- 引入Vue2语法 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.16"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>new Vue({el: '#app',data() {return {ruleForm: {name: '',region: '',date1: '',date2: '',delivery: false,type: [],resource: '',desc: ''},rules: {name: [{ required: true, message: '请输入活动名称', trigger: 'blur' },{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }],region: [{ required: true, message: '请选择活动区域', trigger: 'change' }],date1: [{ type: 'date', required: true, message: '请选择日期', trigger: 'change' }],date2: [{ type: 'date', required: true, message: '请选择时间', trigger: 'change' }],type: [{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }],resource: [{ required: true, message: '请选择活动资源', trigger: 'change' }],desc: [{ required: true, message: '请填写活动形式', trigger: 'blur' }]}};},methods: {submitForm(aa) {// ref="ruleFormRef"// <el-button type="primary" @click="submitForm('ruleFormRef')">立即创建</el-button>// <el-button @click="resetForm('ruleFormRef')">重置</el-button>// 这个aa是 ruleFormRef // this.$refs.ruleFormRef.validate() 等价于 this.$refs[aa].validate()// this.$refs[aa] 获取的是表单的实例 相当于document.querySelector('.demo-ruleForm')// validate() 这个方法是ElementUI给我们提供的内置方法,//          会自动校验表单,如果校验通过,会返回true,否则返回falsethis.$refs[aa].validate((valid) => {if (valid) {alert('发起axios请求');console.log(this.ruleForm);} else {console.log(this.$refs);console.log('error submit!!');return false;}});},resetForm(formName) {// resetFields 是ElmentUI的内置方法,用于清空表单数据。this.$refs[formName].resetFields();}}})
</script></html>
http://www.dtcms.com/a/313239.html

相关文章:

  • lumerical——锥形波导偏振转换
  • 第九章:了解特殊场景下的redis
  • 解决dify前端页面中公式显示的问题
  • 字典序最小的拼接字符串(贪心+全排列)详解
  • 数据分析—numpy库
  • Pytorch-03数据的Transform
  • 2106. 摘水果,梳理思路
  • 新手向:Python制作贪吃蛇游戏(Pygame)
  • Redis面试精讲 Day 9:Redis模块开发与扩展
  • 信创数据库-DM(达梦)数据库安装教程
  • Rust:如何访问 *.ini 配置文件?
  • 【项目日志|苍穹外卖】 Day1:项目环境搭建与架构设计
  • 反向代理+网关部署架构
  • Java学习第一百零二部分——API网关
  • Claude Code入门学习笔记(五)--Claude Code命令行输入
  • 大白话讲解MCP
  • 多种单文件版分析型数据库调用底层函数对比
  • [Oracle] TO_DATE()函数
  • cs285 lecture13
  • 手机端使用表格填写表单问题
  • 复现YOLOV5+训练指定数据集
  • STM32-ESP8266通过MQTT与阿里云通讯
  • MySQL连接算法和小表驱动大表的原理
  • 李宏毅深度学习教程 第8-9章 生成模型+扩散模型
  • 【Django】-7- 实现注册功能
  • 09.Redis 常用命令
  • Android 之 蓝牙通信(2.0 经典)
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-58,(知识点:硬件产品的功率优化)
  • C++中多线程和互斥锁的基本使用
  • 【RH124 问答题】第 8 章 监控和管理 Linux 进程