1、
2、

3、使用elementUI组件:
创建一个Login.vue页面,一般视图层都会新建一个views文件夹:

login.vue代码:
<template>
<div class="login-container">
<el-form :model="ruleForm2" :rules="rules2"
status-icon
ref="ruleForm2"
label-position="left"
label-width="0px"
class="demo-ruleForm login-page">
<h3 class="title">系统登录</h3>
<el-form-item prop="username">
<el-input type="text"
v-model="ruleForm2.username"
auto-complete="off"
placeholder="用户名"
></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password"
v-model="ruleForm2.password"
auto-complete="off"
placeholder="密码"
></el-input>
</el-form-item>
<el-checkbox
v-model="checked"
class="rememberme"
>记住密码</el-checkbox>
<el-form-item style="width:100%;">
<el-button type="primary" style="width:100%;" @click="handleSubmit" :loading="logining">登录</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data(){
return {
logining: false,
ruleForm2: {
username: 'admin',
password: '123456',
},
rules2: {
username: [{required: true, message: 'please enter your account', trigger: 'blur'}],
password: [{required: true, message: 'enter your password', trigger: 'blur'}]
},
checked: false
}
},
methods: {
handleSubmit(event){
this.$refs.ruleForm2.validate((valid) => {
if(valid){
this.logining = true;
if(this.ruleForm2.username === 'admin' &&
this.ruleForm2.password === '123456'){
this.logining = false;
sessionStorage.setItem('user', this.ruleForm2.username);
this.$router.push({path: '/'});
}else{
this.logining = false;
this.$alert('username or password wrong!', 'info', {
confirmButtonText: 'ok'
})
}
}else{
console.log('error submit!');
return false;
}
})
}
}
};
</script>
<style scoped>
.login-container {
width: 100%;
height: 100%;
}
.login-page {
-webkit-border-radius: 5px;
border-radius: 5px;
margin: 180px auto;
width: 350px;
padding: 35px 35px 15px;
background: #fff;
border: 1px solid #eaeaea;
box-shadow: 0 0 25px #cac6c6;
}
label.el-checkbox.rememberme {
margin: 0px 0px 15px;
text-align: left;
}
</style>
router.config.js内容:
import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../views/Login'
Vue.use(VueRouter);
export default new VueRouter({
routes: [
{
path: '/login',
component: Login
}
]
})
main.js配置:
import Vue from 'vue'
import App from './App'
import router from './router/router.config'
import elementUi from 'element-ui' //导入elementUI组件
import 'element-ui/lib/theme-chalk/index.css'; //导入elementUI样式
Vue.use(elementUi);
new Vue({
el: '#app',
router,
render: h => h(App) //elementUI 需要这么写
})
App.vue中加入标签即可实现:
<template>
<div id="app">
<router-link to="/login">登录</router-link>
<!-- 路由视图标签 -->
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'App',
}
</script>
本文详细介绍了如何使用ElementUI组件库创建一个登录页面,包括Login.vue页面的代码实现,以及如何通过VueRouter进行路由配置。展示了如何验证用户输入,并在登录成功后跳转到主页。

被折叠的 条评论
为什么被折叠?



