请扮演前端开发员,使用vue3写一个登录页面的代码
时间: 2023-11-27 09:51:46 浏览: 21
好的,以下是一个使用Vue3编写的登录页面代码:
```html
<template>
<div class="login-container">
<h2>用户登录</h2>
<form class="login-form" @submit.prevent="login">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" id="username" v-model="username" required>
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" id="password" v-model="password" required>
</div>
<button type="submit">登录</button>
</form>
</div>
</template>
<script>
import { reactive } from 'vue';
export default {
setup() {
const state = reactive({
username: '',
password: ''
});
function login() {
// 在此处实现登录逻辑
}
return {
username: state.username,
password: state.password,
login
};
}
}
</script>
<style>
.login-container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.login-form {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
}
.form-group {
display: flex;
flex-direction: column;
margin-bottom: 10px;
}
label {
font-weight: bold;
margin-bottom: 5px;
}
input {
height: 30px;
padding: 5px;
border-radius: 5px;
border: 1px solid #ccc;
font-size: 16px;
}
button {
background-color: #4CAF50;
color: white;
border: none;
border-radius: 5px;
padding: 10px;
font-size: 16px;
cursor: pointer;
}
</style>
```
此代码中使用了Vue3中的Composition API,将组件的状态和方法都放在了`setup()`函数中,并使用`reactive()`函数创建了一个响应式对象`state`,用于存储用户名和密码。登录按钮的单击事件绑定了`login()`方法,根据实际需要在此处实现登录逻辑。