Полезная нагрузка Vuex не определяется при обновлении Firestore - PullRequest
0 голосов
/ 06 марта 2020

Я использую действие для обновления поля в моей базе данных пожарного депо. У меня есть форма, которая принимает имя пользователя, но когда я отправляю функцию «submitName», она выдает ошибку, что она не определена. Код, который я добавил, является минимальным, который я мог бы добавить, но при необходимости я могу добавить весь файл как для своего магазина, так и для моего vue компонента.

Vue компонент

<template>
<v-expansion-panel>
          <v-expansion-panel-header >
            <template v-slot:default="{ open }">
              <v-row no-gutters>
                <v-col cols="4"><v-icon color="blue" class="mr-3">perm_identity</v-icon>Name</v-col>
                <v-col
                  cols="8"
                  class="text--secondary"
                >
                  <v-fade-transition leave-absolute>
                    <span v-if="open" key="0">
                      Enter a name for your account
                    </span>
                    <span  v-else key="1" >
                      <span > {{profile.name}}</span>

                    </span>
                  </v-fade-transition>
                </v-col>
              </v-row>
            </template>
          </v-expansion-panel-header>
          <v-expansion-panel-content>
            <v-text-field
              v-model="name"
              placeholder="John Smith"
            ></v-text-field>
             <v-btn class="text-end" align-end @click="submitName" text color="primary">Save</v-btn>
          </v-expansion-panel-content>
</template>
<script>
import { db, functions } from '../components/fbInit';
import { mapState, mapActions } from "vuex";

export default {

data() {
 return {
  name: "",
 }
}
methods: {

    ...mapActions(['setUser', "getSettings", "getProfile", "updateCheckinFrequency", "updateChangeMessageTimeout", "updateProfileName", "updateProfileState", 'getSubUsers']),

   submitName (){ this.updateProfileName({name: this.name})},

 }
}

Vuex Store

actions: {

 updateProfileName:    firestoreAction(({ state , payload}) => {

      db.collection('company').doc(state.company).update({ name: payload }).then(() => {

        alert('Field updated!')
      })
    }),
}

[Vue warn]: ошибка в обработчике v-on: "FirebaseError : [code = invalid-аргумент]: функция DocumentReference.update () вызвана с неверными данными. Неподдерживаемое значение поля: undefined (найдено в имени поля) "*

vue .runtime.esm. js? 2b0e: 1888 FirebaseError: Функция DocumentReference.update () вызвана с неверными данными. Неподдерживаемое значение поля: не определено (найдено в имени поля)

...