Obtuve datos de API usando computado. "UserModule.userInfo.usrEmail" es el estado en mi vuex. Como abajo:
data() { return { vModel: { email: { value: "", }, } } } computed: { email:{ get: function(){ return UserModule.userInfo ? UserModule.userInfo.usrEmail : ""; }, set : function(email){ this.vModel.email.value = email } }, }Y luego muéstrelo al usuario como a continuación:
<input v-model="email"></input>El usuario puede editar el correo electrónico y también cancelar su proceso de edición y volver a sus datos anteriores, pero en editar todo estaba correcto, pero cuando quiero cancelar este proceso, mis datos anteriores no se muestran en la entrada y vi mis nuevos datos que no son correctos. quiere cancelarlo. Este es mi método de cancelación en la entrada:
resetInput(input) { this.vModel.email.value = this.email },"this.email" se refiere a mi cálculo, que es obtener datos de la API.
¿Cómo puedo escribir este proceso de cancelación correctamente y ver mis datos anteriores en la etiqueta de entrada?
esto se debe a su UserModule.userInfo.usrEmail .
este estado no se actualiza. su get computado funcionará cuando su UserModule.userInfo.usrEmail cambie.
entonces puedes usar esta solución:
data() { return { useGet :{ email: true, }, } }en tu método:
resetInput(input) { this.useGet.email = true },y en su calculado:
email: { get: function () { if (this.useGet.email) { return UserModule.userInfo ? UserModule.userInfo.usrEmail : "" } return "" }, set: function (email) { this.useGet.email = false } },