【问题标题】:Edit Email firestore vue编辑电子邮件firestore vue
【发布时间】:2021-03-14 13:18:22
【问题描述】:

我在编辑“电子邮件”字段时遇到问题。单击更改邮件时,电子邮件正确更改,但是当我想再次登录时,新电子邮件不起作用,只有旧电子邮件仍在起作用。如何做到这一点,以便在单击更改电子邮件后它将在数据库中更改,以便在再次登录后新电子邮件将起作用。我不知道该怎么做。我有这个代码。

<template>
    <div class="editemail">
        <div class="container">
            <form class="form" @submit.prevent>
                <!-- email -->
                <label for="email" class="form__label">Email</label>
                <input
                    class="form__input"
                    type="text"
                    id="email"
                    name="email"
                    :placeholder="userProfile.email"
                    v-model.trim="email"
                />

                <button class="form__button" type="submit" @click="editEmail()">
                    Zmień email
                </button>
            </form>
        </div>
    </div>
</template>

<script>
import { mapState } from 'vuex';
import * as firebase from '../firebase';

export default {
    data() {
        return {
            email: '',
        };
    },

    computed: {
        ...mapState(['userProfile']),
    },

    methods: {
        editEmail() {
            firebase.usersCollection.doc(firebase.auth.currentUser.uid).update({
                email: this.email,
            });
        },
    },
};
</script>

【问题讨论】:

    标签: javascript vue.js google-cloud-firestore firebase-authentication


    【解决方案1】:

    如果您使用 Firebase 身份验证来登录用户,那么它使用的电子邮件地址与您存储在数据库中的值无关。

    要更新 Firebase 用于登录的电子邮件地址,您需要将 firebase.auth().currentUser.updateEmail(this.email) 称为 update the user's email address

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      • 2017-09-17
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多