用vue-element写一个登录页面包含点击登录实现跳转的功能
时间: 2024-03-22 09:40:03 浏览: 24
好的,这里提供一个简单的登录页面示例:
```
<template>
<div class="login-container">
<el-form ref="loginForm" :model="loginForm" :rules="rules" label-width="100px" class="login-form">
<h3>用户登录</h3>
<el-form-item label="用户名" prop="username">
<el-input v-model="loginForm.username" placeholder="请输入用户名"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input type="password" v-model="loginForm.password" placeholder="请输入密码"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">登录</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
loginForm: {
username: '',
password: ''
},
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' }
]
}
}
},
methods: {
submitForm() {
this.$refs.loginForm.validate(valid => {
if (valid) {
// TODO: 在这里处理登录逻辑
// 登录成功后跳转到首页
this.$router.push('/home')
} else {
return false
}
})
}
}
}
</script>
<style>
.login-container {
margin: 0 auto;
width: 400px;
padding-top: 100px;
}
.login-form {
margin-top: 20px;
}
</style>
```
在这个示例中,我们使用了 `vue-element` 提供的 `el-form` 和 `el-button` 组件来实现登录表单以及登录按钮。当用户点击登录按钮时,会触发 `submitForm` 方法,在该方法中使用 `this.$router.push('/home')` 实现页面跳转逻辑。同时,我们使用了 `el-form` 组件的表单验证功能,确保用户输入的用户名和密码不为空。
需要注意的是,为了实现页面跳转功能,我们需要在 `router/index.js` 文件中定义路由规则,例如:
```
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/pages/Home'
import Login from '@/pages/Login'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
redirect: '/login'
},
{
path: '/home',
name: 'Home',
component: Home
},
{
path: '/login',
name: 'Login',
component: Login
}
]
})
```
其中,`/login` 路由对应的是我们定义的登录页面组件,而 `/home` 路由对应的是我们登录后跳转到的页面组件。