gpt4 book ai didi

javascript - 如何创建Vuejs控制的输入表单?

转载 作者:行者123 更新时间:2023-12-03 06:45:24 24 4
gpt4 key购买 nike

我习惯于使用状态来创建受控组件。但是,我是Vue的新手,并且想学习如何通过对Vue可以使用的内容进行响应来重新创建代码。我希望将输入字段值存储在一条数据中,以便可以对它们进行处理。

<template>
<form @submit="handleSubmit" class="form form--signin">
<h2 class="form__h2">Log into your account</h2>

<label for="email">Email address</label>
<input v-model="email" type="email" id="email" autoComplete="off"/>

<label for="password">Password</label>
<input v-model="password" type="password" id="password" autoComplete="off"/>

<button class="form__btn">Login</button>
</form>
</template>

<script>

从'axios'导入axios;
export default {
name: 'SignIn',
data() {
return {
user: null,
email: null,
password: null
}
},
methods: {
handleSubmit(event) {
event.preventDefault();
this.login(this.email, this.password);
this.email = '';
this.password = '';
},
login(email, password) {
axios.post('http://localhost:8000/api/v1/users/login', {
email,
password
})
.then(res => {
// console.log(this.user);
this.user = res.data.data.user;
if(res.data.status === 'success') {
// setUserStatus(res.data.status);
window.setTimeout(() => {
window.location.assign('/');
}, 1500)
}
})
.catch(err => console.log(err.response.data.message));
}
},
mounted() {
if (!this.user) return;

console.log('Writing to session storage...');
sessionStorage.setItem('user', JSON.stringify(this.user));
}
}

最佳答案

这就是Vue中的样子

Vue.config.devtools = false;
Vue.config.productionTip = false;

const SignIn = Vue.component('sign-in', {

template: `<form @submit="handleSubmit" className="form form--signin">
<h2 className="form__h2">Log into your account</h2>

<label htmlFor="email">Email address</label>
<input v-model="email" type="email" id="email" autoComplete="off"/>

<label htmlFor="password">Password</label>
<input v-model="password" type="password" id="password" autoComplete="off"/>

<button className="form__btn">Login</button>
</form>`,
data() {
return {
user: null,
email: null,
password: null,
}
},
methods: {
handleSubmit(event) {

this.login(this.email, this.password)
this.email = '';
this.password = '';

event.preventDefault();
},
login(email, password) {

}
},
mounted() {
if (!this.user)
return;

console.log('Writing to session storage...');
sessionStorage.setItem('user', JSON.stringify(user));
}
})

var app = new Vue({
el: '#app'
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<sign-in></sign-in>
</div>

关于javascript - 如何创建Vuejs控制的输入表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61973121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com