---
title: 自定义登录框
description: 通过上传Vue代码和CSS样式来自定义登录框
published: true
date: 2021-07-30T06:59:54.419Z
tags:
editor: markdown
dateCreated: 2021-07-29T06:23:40.688Z
---
# 添加菜单
该功能为附属功能,不做自动创建菜单处理
菜单链接:**/route/login-form/list**
# 新增表单
打开菜单,点击“新增”按钮,新增登录框
1. 名称:表单的名称
2. 激活状态:表单是否使用,同一时间有且只能有一个表单被激活,当没有表单激活时,系统会使用默认登录表单
3. 预览图:表单最终的效果图。
4. form表单代码:表单html代码,用vue完成对表单的动态渲染。
5. form表单样式:表单的CSS样式控制,不包含表单局左、居中、居右样式
6. form表单居左样式:只填写表单居左CSS样式
7. form表单居中样式:只填写表单居中CSS样式
8. form表单居右样式:只填写表单居右CSS样式
# 原理
登录页面中已经集成了layui、vue等框架,并实现了相关必要方法,如下:
1. 错误信息提示:打开页面时,如果包含错误信息,会自动弹出提示信息。
2. 轮播背景图片:如果在 **系统配置** 中添加了背景图片,页面会自动加载。
3. 记住我(密码):该功能需要结合表单中的checkbox来实现,点击时需要在标签上添加 `lay-filter="rememberFilter"` 属性用于触发。
4. 表单提交:该功能需要对表单添加事件处理,form表单元素上添加 `@submit.prevent="submitForm"` 事件。
5. 刷新验证码:验证码图片添加 `@click=refreshVerificationCode($event)` 即可实现。
# 表单中的固定元素
在编写表单时,元素的样式是需要自定义的,而元素的必要属性如 `name`、`v-model`、`id` 等则要与 **页面参数(pageParams)** 与 **表单数据(formData)** 一致。
form表单外的div标签的 **class** 属性需要有 **layui-form**。
表单中的元素如下
- 用户名输入框:
```html
```
其中的 **v-model** 绑定了 **formData** 中的 **username** 属性,**id** 和 **name** 则需要固定为 **username**。为了使用页面上的用户名验证方法,这里又添加了 **lay-verify="username"** 属性,添加该属性之后,在提交form表单时页面会判断用户名是否为空。
- 密码输入框:
```html
```
- 验证码输入框:
```html
```
- 验证码图片:
```html
```
- 登录按钮
```html
```
- form表单
```html
{{pageParams.systemSubTitle}}