赞
踩
<template> <div class="login-container"> <h2>登录</h2> <el-form ref="form" :model="loginForm" :rules="rules" label-width="80px"> <el-form-item label="账号" prop="username"> <el-input v-model="loginForm.username"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input v-model="loginForm.password"></el-input> </el-form-item> <el-form-item> <div class="flex-c-c"> <el-button type="primary" @click="login">登录</el-button> <el-button type="success" plain @click="register">注册</el-button> </div> </el-form-item> </el-form> </div> </template> <script lang="ts"> import { reactive, toRefs, ref } from 'vue' import router from '@/router' export default { setup () { const form = ref(null) let dataMap = reactive({ loginForm: { username: '', password: '' }, rules: { username: [{required: true, message: '账户不能为空', trigger: 'blur'}], password: [{required: true, message: '密码不能为空', trigger: 'blur'}] }, login: () => { let {validate} = form.value as any // 确认存在validate,使用类型断言,避免ts报错 validate((valid:Boolean) => { if(valid) { router.push('/home') } }) }, register: () => { router.push('/register') } }) return { ...toRefs(dataMap), form } }, } </script>
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。