Vue和Element-UI做一个简单的登录页面

如下所示,是vue+ElementUI写的一个登录页面:

Login.vue部分

<template>
  <el-form :model="loginForm" :rules="loginRules" ref="loginForm" label-position="left" label-width="0px"
           class="demo-ruleForm login-container">
    <h3 class="title">登陆界面</h3>
    <el-form-item prop="account">
      <el-input type="text" v-model="loginForm.account" auto-complete="off" placeholder="请输入账号"></el-input>
    </el-form-item>
    <el-form-item prop="checkPass">
      <el-input type="password" v-model="loginForm.checkPass" auto-complete="off" placeholder="请输入密码"></el-input>
    </el-form-item>
    <el-checkbox v-model="checked" checked class="remember">记住密码</el-checkbox>
    <el-form-item style="width:100%;">
      <el-button type="primary" class="loginBtn"
                 @click.native.prevent="handleSubmit" :loading="logining">登录
      </el-button>
    </el-form-item>
  </el-form>
</template>

CSS部分:

<style lang="scss" scoped>
  .login-container {
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    background-clip: padding-box;
    margin: 180px auto;
    width: 350px;
    padding: 35px 35px 15px 35px;
    border: 1px solid #eaeaea;
    background: #2d3a4b;
    color: #fff;
  .title {
    margin: 0px auto 40px auto;
    text-align: center;
  }
  .remember {
    margin: 0px 0px 35px 0px;
  }
  .loginBtn {
    width: 100%;
    font-size: 20px;
    letter-spacing: 10px;
  }
  }
</style>

 JS部分:

<script>
  import { requestLogin } from '../api/api';
  export default {
    data(){
      return {
        logining: false,
        loginForm: {
          account: 'admin',
          checkPass: '123456'
         },
        loginRules: {
          account: [
            {required: true, message: '请输入账号', trigger: 'blur'},
          ],
          checkPass: [
            {required: true, message: '请输入密码', trigger: 'blur'},
          ]
         },
        checked: true
       }
     },

  methods: {
    handleSubmit(ev){
      this.$refs.loginForm.validate((valid) => {
        if (valid) {
          this.logining = true;
          var loginParams = {username: this.loginForm.account, password: this.loginForm.checkPass};
          requestLogin(loginParams).then(data => {
              this.logining = false;
              let { msg, code, user } = data;
              if (code !== 200) {
                 this.$message({
                    message: msg,
                    type: 'error'
                 });
               } else {
                      sessionStorage.setItem('user', JSON.stringify(user));
                      this.$router.push({path: '/home'});
               }
           });
       } else {
            console.log('error submit!!');
            return false;
       }
      });
    }
  }
  }
</script>

 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值