ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证
一、关于导航怎么设置路由
1、在el-menu这个标签的属性中添加 router ,官方文档的解释是:启用vue-router 这种模式
2、在el-menu-item标签中的index属性直接书写路由,就可以实现正常vue-router了
3、在el-menu-item标签中书写路由属性::route='{path:"/product"}'
<el-menu
class="el-menu-vertical"
background-color="#364150"
router
text-color="#e6eefd"
active-text-color="#28b6f6"
unique-opened>
<el-menu-item
index="product" :route="{path: '/product'}">
<i class="icon-instance"></i>
<span slot="title">实例管理</span>
</el-menu-item>
<el-menu-item
index="pool">
<i class="icon-resource"></i>
<span slot="title">资源管理</span>
</el-menu-item>
<el-menu-item
index="product">
<i class="icon-product"></i>
<span slot="title">产品管理</span>
</el-menu-item>
首先父级el-menu添加router熟悉开启路由模式,子级el-menu-item可以通过index属性,或者:router属性书写路由
补充:只加index属性是错误的,必须加:router属性给定正确路由才行。因为遇到了当只有index属性的时候,当遇到"/list/report",从list里链接进去的report这种路由时,在点击菜单如果index属性是"monitor",最后路由会变成"/list/monitor",与预期不一致。
二、使用iconfont字体图标
1、官网下载解压,将解压后的文件全部放到assets目录下建iconfont目录下
2、在main.js里面全局导入,然后就可以用了。用的时候class前面需要加上iconfont
import './assets/iconfont/iconfont.css'
三、form表单自定义验证规则
验证手机号(我是独立写了一个validator.js文件的,放在util目录下,然后把所有验证规则都写在这里,使用的时候导入即可)
/**
* 校验规则文件
* 触发方式:type=['blur','change']
*/
//定义phone验证全局变量
var validPhone=(rule, value,callback)=>{
const reg = /^[||||][-]\d{}$/;
if (!value){
callback(new Error('请输入电话号码'))
}else if (!reg.test(value)){
callback(new Error('请输入正确的11位手机号码'))
}else {
callback()
}
}
export const validator = {
required:{
required:true,
message:'必填项',
trigger:'blur'
},
email:{
type:'email',
message:'请输入正确的邮箱',
trigger:['blur','change']
},
minLen:{
min:,
message: '长度最少6个字符',
trigger: 'blur'
},
phone:{
required:true,
validator:validPhone,
trigger:['blur','change']
}
}
//vue组件中使用
<el-form
ref="login_pwd"
:model="login_pwd"
:rules="rules"
status-icon>
<el-form-item prop="phone" :rules="[rules.required,rules.phone]">
<el-input v-model="login_pwd.phone" placeholder="请输入账户"></el-input>
</el-form-item>
另外一种方式可以直接使用在pattern中书写正则,并且配合elementUI进行表单验证。
pattern 属性规定用于验证输入字段的模式。模式指的是正则表达式。
data(){
const valPwd = (rule, value, callback) => {
if (!value) {
callback(new Error('请再次输入密码'));
} else if (value !== this.resetPassword.password) {
callback(new Error('两次输入密码不一致!'));
} else {
callback();
}
};
return {
resetPassword:{},
rules:{
password:[{required:true,message:'请输入密码',trigger:'blur'},
{pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,}$/,message: '密码格式不正确'}],
repeatPassword:{validator:valPwd,trigger:'blur'},
phone:[{required:true,message:'请输入电话',trigger:'blur'},
{pattern: /^1[3|4|5|7|8][0-9]\d{8}$/,message: '请输入正确的11位手机号码'}],
veriCode:{required:true,message:'请输入密码',trigger:'blur'}
},
codeDisabled:false,
countdown:
}
},
//直接使用prop验证即可
<el-form-item prop="repeatPassword">
<el-input type="password" v-model="resetPassword.repeatPassword" placeholder="重复密码"></el-input>
</el-form-item>
ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证的更多相关文章
- element-ui 自定义表单验证 , 但是不出现小红心了
基本上按照文档上提供的方式做就没啥大问题 , 我遇到的问题是 , 自定义以后不显示小红星了 <el-form :model="ruleForm2" status-icon : ...
- ElementUI表单验证使用
1.设计校验方式: 我们表单验证的rules一般封装一个单独的js文件,比如我之前写的这个博客: ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证 可以修改下:公共的校验 ...
- element-ui+vuex共享自定义方法进行表单验证 validator
element-ui的官网上写的自定义表单验证,方法都是写在单vue文件中的,不容易共享.怎么使用vuex将方法共享出来,各个组件都能用呢? 如下是一个验证age的数据, rules:{ age:[{ ...
- 如何设置dedecms自定义表单必填项?
用dedecms自定义表单可以制作一个简单的预约系统,有些相关信息需要设置为必填项,比如联系方式,没有留下真实的电话或其他信息,以后要怎么联系到你的客户.那我们要如何设置织梦cms自定义表单必填项呢? ...
- Vue Element-ui 框架:路由设置 限制文件类型 表单验证 回车提交 注意事项 监听事件
1.验证上传文件的类型: (1)验证图片类型 <template> <el-upload class="avatar-uploader" action=" ...
- element-ui Form表单验证
element-ui Form表单验证规则全解 element的form表单非常好用,自带了验证规则,用起来很方便,官网给的案例对于一些普通场景完全没问题,不过一些复杂场景的验证还得自己多看文档摸索, ...
- element-ui表单验证(电话,邮箱)
element-ui Form表单验证 最近刚好使用了element-ui的form表单,官网只提供的示例,这里把一些常用的验证记录下来,方便后期查找最终的效果是这样的, 这个表单里还加入了一下其他组 ...
- ElementUI表单验证攻略:解决表单项启用和禁用验证的切换,以及动态表单验证的综合性问题
试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行 ...
- 如何设置织梦cms自定义表单字段为必填项
1.编辑器打开\plus\diy.php2.在40行左右找到此行代码:$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);3.在这 ...
随机推荐
- Intellij idea的maven依赖图
Intellij idea下查看maven的依赖图与eclipse有所不同.下面简单介绍一下Intellij下maven的查看使用. 使用场景 当你想查看maven依赖的jar都有哪些,是否有冲突,冲 ...
- python 单例模式4中实现方法
python实现单例模式的方法: 1. 使用模块 python的模块在第一次导入时会生成.pyc文件,当第二次导入时就会直接加载.pyc文件,而不会再次执行模块代码. 只需将其单独放在一个模块里,并创 ...
- TYVJ2002 扑克牌
卢克生日那天,汉来找卢克玩扑克牌,玩着玩着汉觉得太没意思了,于是决定给卢克一个考验汉把一副扑克牌(54张)随机洗匀,倒扣着放成一摞.然后卢克从上往下一次翻开每张牌,每翻开一张黑桃,红桃,梅花或方块,就 ...
- Linux添加或修改ssh端口
1) 查看ssh服务是否安装齐全 这里使用”rpm –qa|grep ssh”命令查看. [root@xuexi ~]# rpm -qa | grep ssh libssh2-1.4.3-10.el ...
- 35、Flask实战第35天:权限设计
二进制及其相关运算 认识二进制 0,1,2,3,4,5,6,7,8,9,10:逢10进1 0,1:逢2进1 二进制转十进制 十进制 二进制 0 0 1 1 2 10 3 11 4 100 255 11 ...
- shell 文件个数 vs 文件夹个数
文件个数 ls -l |grep "^-"|wc -l 文件夹个数 ls -l |grep "^d"|wc -l
- Python开发基础-Day3-列表、元组和字典
列表 列表定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序 ...
- [BZOJ 2427] 软件安装
Link: BZOJ 2427 传送门 Solution: 只看样例的话会以为是裸的树形$dp$…… 但实际上题目并没有说明恰好仅有一个物品没有依赖项 因此原图可能由是由多棵树与多个图组成的 先跑一遍 ...
- 【模拟】 Codeforces Round #434 (Div. 1, based on Technocup 2018 Elimination Round 1) C. Tests Renumeration
题意:有一堆数据,某些是样例数据(假设X个),某些是大数据(假设Y个),但这些数据文件的命名非常混乱.要你给它们一个一个地重命名,保证任意时刻没有重名文件的前提之下,使得样例数据命名为1~X,大数据命 ...
- html基础知识介绍
1 前端概要 前端三大利器 1.html 赤裸裸的人 2.css 穿上华丽的衣服 3.js 让人生动起来 2 HTML本质及在web程序中的作用 2.1 介绍 HTML 1.一套规则,浏览 ...