首页 > 其他分享 >VUE学习笔记(九)

VUE学习笔记(九)

时间:2024-05-29 10:44:54浏览次数:14  
标签:flex VUE const center 笔记 学习 reactive background password

登录数据数据验证,学习element plus组件种页面数据验证

UserLogin.vue页面

<template>
    <div class="login">
        <div class="body">
            <div class="container">
                <h2>用户登陆</h2>
                <el-form :model="ruleForm" ref="loginForm" class="login-form" :rules="rules">
                    <el-form-item label="账号" prop="email">
                        <el-input v-model="ruleForm.email" />
                    </el-form-item>
                    <el-form-item label="密码" prop="password">
                        <el-input type="password" v-model="ruleForm.password" />
                    </el-form-item>
                    <el-button style="width: 100%;" type="primary" @click="submitForm(loginForm)">登陆</el-button>
                </el-form>
            </div>
        </div>
    </div>
</template>
<script setup>
import { reactive, toRefs, ref } from 'vue';
const loginForm = ref()
const state = reactive({
    ruleForm: {
        email: "[email protected]",
        password: "ant123"
    }
})

const rules = reactive({
    email: [
        { required: true, message: '请输入账号', trigger: 'blur' }
    ],
    password: [
        { required: true, message: '请输入密码', trigger: 'blur' }
    ]
})

const submitForm = async (formEl) => {
    if (!formEl) return
    await formEl.validate(() => {
        //验证通过进行登陆
        console.log('submit!')
    })
}

const { ruleForm } = toRefs(state)
</script>
<style scoped>
.login {
    background: url("../../assets/bg.jpg");
    height: 100%;
    width: 100%;
    position: fixed;
    background-size: cover;
}

.body {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20%;
}

.container {
    width: 420px;
    height: 250px;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border-radius: 10px;
    border-radius: 0px 21px 41px 0px rgba(0, 0, 0, 0.2);
    font-size: 12px;
}
</style>

 

标签:flex,VUE,const,center,笔记,学习,reactive,background,password
From: https://www.cnblogs.com/Lvkang/p/18219692

相关文章

  • 解决Vue3项目使用多个根标签提示[vue/no-multiple-template-root]The template root r
    报错截图检查原因第一步:检查是否安装了 Vetur 插件 第二步:左下角设置图标 ==》设置第三步:进入设置页面搜索eslint把Vetur的验证模板,取消勾选 Validatevue-htmlinusingeslint-plugin-vue第四步:将错误提示页面关掉然后重新打开,即可正常显示......
  • 《第二节》一、FreeRTOS学习笔记-任务创建和删除
    FreeRTOS的任务创建和删除1,任务创建和删除的API函数(熟悉)任务的创建和删除本质就是调用FreeRTOS的API函数一、任务创建动态创建任务:任务的任务控制块以及任务的栈空间所需的内存,均由FreeRTOS从FreeRTOS管理的堆中分配静态创建任务:任务的任务控制块以及任务的栈空间所需......
  • 最新扣子(Coze)实战教程:扣子的插件使用,完全免费,快来学习吧~
    ......
  • VUE学习笔记(六)
    数据添加、修改、watch监听和删除数据添加AddCategory.vue<template><el-dialogv-model="dialogVisible":title="dialogTitle"width="500":before-close="handleClose"><el-form:model="ruleFroms"......
  • vue3项目中 路由elementPlus当中的标签页结合封装
    在项目当中大家应该都有看到过,像标签页一样的面包屑吧,接下来我为大家介绍一下,主要组成部分:路由+组件库的标签页。ok就这么easy!!!它实现的方法也不难哦请看效果图ok,在中间实现思路与大家分享一下:主要是使用watch监听我们的route路由的变化,然后根据传递过来的路由信息,进行标签页......
  • VUE学习笔记(五)
    defineprops和torefs的使用用法,从父组件(Category.vue)向子组件(AddCategory.vue)传输数据Category.vue<template><el-cardclass="box-card"><template#header><divclass="card-header"><s......
  • vue前端页面搭建
    十、页面搭建学习10.1安装element在这里看一下有没有elementui,有就是下载成功了。10.2mainjs全局引入importElementUIfrom'element-ui';import'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI)10.3简单试用运行serve10.4页面布局(都可以直接查......
  • Prism框架与Microsoft.Extensions.DependencyInjection的集成使用笔记
    在现代的WPF应用开发中,Prism框架提供了强大的模块化、依赖注入和MVVM支持,而Microsoft.Extensions.DependencyInjection提供了简洁而功能强大的依赖注入机制。另外很重要的一点是Microsoft.Extensions.*或者第三方的Nuget基本会提供Microsoft.Extensions.DependencyInjection,那么......
  • vue 项目发布到docker
    在vue项目目录下执行npmrunbuild 会生成dist文件夹,dist文件夹中的内容就是包含了打包好的静态文件 写dockerfile FROMnginx#将本地的dist文件夹复制到nginx默认的静态文件目录COPY./dist/usr/share/nginx/html执行 dockerbuild-tmy-vue-app.  ......
  • SVRF学习_①_review下先
    由来自从正式工作后,时间都被有偿贡献给了公司。周末闲暇,也无兴致聊表乐趣之事。目前从事IC设计相关,大多工作资料都属于商业机密。<_>最近闲暇,想趁此诸君交流一些开放知识,分享会使我们共同进步!简单总结当前技术面想到啥写啥,随时改layout绘制--本职(90%以上都属于商业......