loginForm: {
name: '',
password: ''
},
loginRules: {
/* 这里定义规则时候,名字必须是上面对象的已经声明过的字段。不然会报错 */
name: [{ required: true, message: '请输入活动名称', trigger: 'blur' }, { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }],
password: []
}
错误的例子
<template>
<div class="login_content">
<div class="login_box">
<!-- 头像区域 -->
<div class="avatar_box">
<img src="../assets/logo.png" alt="">
</div>
<!-- 登录表单区域 -->
<el-form :model="loginForm" :rules="loginRules" class="login_form" label-width="0px">
<!-- 账号 -->
<el-form-item prop="userName">
<el-input v-model="loginForm.name" prefix-icon="iconfont icon-user"></el-input>
</el-form-item>
<!-- 密码 -->
<el-form-item>
<el-input v-model="loginForm.password" prefix-icon="iconfont icon-3702mima" type="password"></el-input>
</el-form-item>
<!-- 登录与重置按钮 -->
<el-form-item class="login_button_parent">
<el-button type="primary">登录</el-button>
<el-button type="info">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'login',
/* 组件中的数据 */
data () {
return {
/* 登录请求的对象 */
loginForm: {
name: '',
password: ''
},
loginRules: {
password: [],
/* 这个名字,没有在数据里面声明过所以上面引用的时候会错误 */
userName: [{ required: true, message: '请输入活动名称', trigger: 'blur' }, { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }]
}
}
}
}
</script>
<style lang="less" scoped>
.login_content {
background-color: aqua;
height: 100%;
}
.login_box {
width: 450px;
height: 300px;
background-color: white;
border-radius: 3px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
.avatar_box {
width: 130px;
height: 130px;
border: 1px solid #eee;
border-radius: 50%;
padding: 10px;
box-shadow: 0 0 10px #eeeeee;
position: absolute;
left: 50%;
transform: translate(-50%, -50%);
background-color: white;
img {
width: 100%;
height: 100%;
border-radius: 50%;
background-color: #eeeeee;
}
}
}
.login_form {
position: absolute;
bottom: 0;
width: 100%;
padding: 0 10px;
box-sizing: border-box;
}
.login_button_parent {
/*element-ui 的属性有个type type的值可以设置为flex*/
display: flex;
/*对齐方式,justify-content 是配合 flex使用的*/
justify-content: flex-end;
}
</style>
正确的例子
<template>
<div class="login_content">
<div class="login_box">
<!-- 头像区域 -->
<div class="avatar_box">
<img src="../assets/logo.png" alt="">
</div>
<!-- 登录表单区域 -->
<el-form :model="loginForm" :rules="loginRules" class="login_form" label-width="0px">
<!-- 账号 -->
<el-form-item prop="userName">
<el-input v-model="loginForm.name" prefix-icon="iconfont icon-user"></el-input>
</el-form-item>
<!-- 密码 -->
<el-form-item>
<el-input v-model="loginForm.password" prefix-icon="iconfont icon-3702mima" type="password"></el-input>
</el-form-item>
<!-- 登录与重置按钮 -->
<el-form-item class="login_button_parent">
<el-button type="primary">登录</el-button>
<el-button type="info">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'login',
/* 组件中的数据 */
data () {
return {
/* 登录请求的对象 */
loginForm: {
name: '',
password: ''
},
loginRules: {
/* 这个名字,已经在数据里面声明过所以上面引用的时候不会错误 */
name: [{
required: true,
message: '请输入活动名称',
trigger: 'blur'
}, {
min: 3,
max: 5,
message: '长度在 3 到 5 个字符',
trigger: 'blur'
}],
password: []
}
}
}
}
</script>
<style lang="less" scoped>
.login_content {
background-color: aqua;
height: 100%;
}
.login_box {
width: 450px;
height: 300px;
background-color: white;
border-radius: 3px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
.avatar_box {
width: 130px;
height: 130px;
border: 1px solid #eee;
border-radius: 50%;
padding: 10px;
box-shadow: 0 0 10px #eeeeee;
position: absolute;
left: 50%;
transform: translate(-50%, -50%);
background-color: white;
img {
width: 100%;
height: 100%;
border-radius: 50%;
background-color: #eeeeee;
}
}
}
.login_form {
position: absolute;
bottom: 0;
width: 100%;
padding: 0 10px;
box-sizing: border-box;
}
.login_button_parent {
/*element-ui 的属性有个type type的值可以设置为flex*/
display: flex;
/*对齐方式,justify-content 是配合 flex使用的*/
justify-content: flex-end;
}
</style>
网友评论