vue写一个验证码登陆并错误时清空输入框
时间: 2023-05-11 08:06:58 浏览: 120
好的,这是一个关于 Vue 的编程问题。您可以使用 Vue.js 和 Element UI 库来实现一个验证码登录功能。以下是一个简单的示例代码:
```
<template>
<div>
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="用户名">
<el-input v-model="form.username"></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input v-model="form.password" type="password"></el-input>
</el-form-item>
<el-form-item label="验证码">
<el-input v-model="form.captcha"></el-input>
<img :src="captchaUrl" @click="refreshCaptcha" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">登录</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
form: {
username: '',
password: '',
captcha: ''
},
captchaUrl: ''
};
},
methods: {
refreshCaptcha() {
this.captchaUrl = '/api/captcha?' + new Date().getTime();
},
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
axios.post('/api/login', this.form)
.then(response => {
// 登录成功
})
.catch(error => {
// 登录失败,清空输入框
this.form.password = '';
this.form.captcha = '';
this.refreshCaptcha();
});
} else {
return false;
}
});
}
},
mounted() {
this.refreshCaptcha();
}
};
</script>
```
在这个示例中,我们使用了 Element UI 库来构建登录表单,并使用 axios 库来发送登录请求。当登录失败时,我们清空了密码和验证码输入框,并刷新了验证码。