自定义校验手机号和邮箱
data() {// 定义自定义校验规则// 校验邮箱// rules,value,cb:分别为校验规则,校验参数,回调函数var checkEmail = (rules,value,cb) => {const regEmail = /^([a-zA-Z0-9])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/if(regEmail.test(value)){// 合法邮箱return cb();}cb(new Error('请输入合法邮箱!'))};// 校验手机号var checkMobile = (rules,value,cb) => {let reg = /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/if (reg.test(value)) {return cb()} else {cb(new Error('手机号码格式不正确'))}}return {// 获取用户列表的参数queryInfo: {query: '',// 当前的页数pagenum: 1,// 当前每页显示多少条数据pagesize: 2,},userlist: [],total: 0,// 控制添加用户对话框的显示和隐藏addDialogVisible: false,// 添加用户数据对象addForm:{username:'',password:'',email:'',mobile:''},// 表单验证规则addFormRules:{// 普通校验规则username: [{ required: true, message: '请输入用户名', trigger: 'blur' },{ min: 3, max: 10, message: '长度在 3 到 10 个字符', trigger: 'blur' }],password: [{ required: true, message: '请输入密码', trigger: 'blur' },{ min: 6, max: 15, message: '长度在 6 到 15 个字符', trigger: 'blur' }],email: [{ required: true, message: '请输入邮箱', trigger: 'blur' },// { min: 6, max: 15, message: '长度在 6 到 15 个字符', trigger: 'blur' },{validator:checkEmail,trigger: 'blur'}],mobile: [{ required: true, message: '请输入手机号', trigger: 'blur' },// { min: 6, max: 15, message: '长度在 6 到 15 个字符', trigger: 'blur' }{validator:checkMobile,trigger: 'blur'}],}}},
重置表单内容
// 找到表单,调用resetFields()函数this.$refs.addFormRef.resetFields();
表单预校验
this.$refs.addFormRef.validate(valid => {if(!valid) {//如果校验失败,return}// 校验成功,就发起添加用户的网络请求});
通过作用域插槽接收数据
//通过插槽可以获取到当前这一行的数据,存放在scope中//scope.row获取到这一行的信息<template slot-scope="scope"><el-row><el-buttontype="primary"icon="el-icon-edit"size="mini"@click="showEditDialog(scope.row.id)"></el-button></template>
对话框
:visible.sync=”distribuVisible” 表示当前对话框是否显示
:before-close=”handleClose” 表示在关闭对话框之前的动作
<!-- 分配角色对话框 --><el-dialogtitle="分配角色":visible.sync="distribuVisible"width="30%":before-close="handleClose"><span>这是一段信息</span><span slot="footer" class="dialog-footer"><el-button @click="dialogVisible = false">取 消</el-button><el-button type="primary" @click="dialogVisible = false">确 定</el-button></span></el-dialog>
