退出功能到登录界面_(三)登录页面界面及功能模拟实现

ddc792c037401598643decbfd59eb28c.png

一般项目先做注册功能,因为本项目的注册用户功能,我是放在管理员功能之中,不属于对外开放注册。

所以我就先做用户和管理员登陆功能

项目目录结构

user属性:id、姓名、密码(大于6位)、级别(普通员工、管理员)、状态(0在职,1失效)

d1ebc157f9cdaed8023c5c62baf90ae2.png

登录页面:修改deptLogin.vue

<template>
  <div>   
    <el-row>        
        <el-form :model="user" label-width="80px" :rules="rules" status-icon class="loginform">
            <h3 class="loginhead" >欢 迎 登 录</h3>
            <el-form-item label="用户名" prop="username">
                <el-input v-model="user.username"></el-input>
            </el-form-item>
            <el-form-item label="密  码" prop="password">
                <el-input v-model="user.password" type="password"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" icon="el-icon-s-custom" @click="login('loginForm')" class="butlogin">登录</el-button>
            </el-form-item>
        </el-form>
    </el-row>
  </div>
</template>

bb6dbd11d13a428dd31fd8f3bff6a478.png

黄色框标出了重点需要注意的地方,样式自己配置

:model="user",用于绑定data中的user属性,并在下面用户名及密码的输入框中绑定具体model的相关属性

//template表单form-item
<el-input v-model="user.password"  type="password"></el-input>

//data中
user:{
   username:'',
   password:''
}

:rules=“rules”,也是指向data中的rules,rules中配置了表单需要验证的规则,

使用rules必须在el-form-item指定prop,表单域中 model的具体字段,需要验证的文本框label前有个红色*,

配套使用status-icon会在文本框尾部出现图标提示

//template表单
<el-form :model="user" label-width="80px" :rules="rules" status-icon class="loginform">

//template表单中
<el-form-item label="用户名" prop="username">

//data中
rules: {
     username: [
         {required: true, message: '账号不可为空', trigger: 'blur'}
     ],
     password: [
         {required: true, message: '密码不可为空', trigger: 'blur'}
     ]
}

看一下效果:基本界面完成

56a3030ab73b9aa94773c212d637e8f3.png

接着看@click="login('loginForm')"

首先为el-form元素增加ref引用,以便login方法进行调用

methods中增加login方法,首先通过validate校验的表单项 prop 值是否验证通过,模拟数据验证成功,测试下方法调用是否成功

下篇我再修改如何和后台模拟交互数据来进行测试

//增加ref引用
<el-form ref="loginForm" :model="user" label-width="80px" :rules="rules" status-icon class="loginform">

//methods中
login(formName){
    this.$refs.loginForm.validate((valid) => {
        if (valid) {
             alert('登录成功!')
        } else {
             alert('登录失败!')
             return false;
        }
    })            
 }

查看结果:说明validate触发了表单验证

7b81ad8e16073b293a18da9fe4161b79.png

7f5a9dd3dbf17fdeeaa0e29756608ef9.png

为表单加个重置按钮,添加reset方法,使用resetFields重置为初始值并移除校验结果

//添加重置按钮
<el-button type="primary" icon="el-icon-delete-solid" @click="reset" >重置</el-button>

//methods方法中
reset(){
    this.$refs.loginForm.resetFields()
}

效果:

9805d56430e9cd501cfe6af6afc2d641.png

下篇我再继续完成如何模拟后台交互数据,来进行登陆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值