template
<el-form ref="form" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm" > <el-form-item label="用户名" prop="username"> <el-input v-model="ruleFormRef.username.value" placeholder="用户名/手机号/邮箱" clearable></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input v-model="ruleFormRef.password.value" show-password placeholder="密码" clearable></el-input> </el-form-item> </el-form> <el-button type="primary" @click="login">登录</el-button> <el-button type="text" @click="goRegister">去注册</el-button>
ts
const ruleForm = reactive({ username: '', password: '', }) const ruleFormRef = toRefs(ruleForm) const rules = reactive({ username: [ { required: true, message: '请输入用户名/手机号/邮箱', trigger: 'change', },], password: [ { required: true, message: '请输入密码', trigger: 'change', },], }) const form = ref(null); const login = () => { const myForm = form.value as any; myForm.validate((valid: boolean) => { if (valid) { loginSubmit(ruleForm) } }) }