как удалить документ из Firebase - PullRequest
0 голосов
/ 24 марта 2019

Мне нужно удалить один документ из FireBase, нажав на его значок.Проблема в том, что я не знаю, как пометить конкретный идентификатор каждого документа в vuetify

Это моя карта (1 карта на 1 проект)

  <v-card flat v-for="project in projects" :key="project.title">
    <v-layout row wrap :class="`pa-3 project ${project.status}`">
      <v-flex xs12 md6>
        <div class="caption grey--text">Project title</div>
        <div>{{ project.title }}</div>
      </v-flex>
      <v-flex xs6 sm4 md2>
        <div class="caption grey--text">Person</div>
        <div>{{ project.person }}</div>
      </v-flex>
      <v-flex xs6 sm4 md2>
        <div class="caption grey--text">Due by</div>
        <div>{{ project.due }}</div>
      </v-flex>
      <v-flex xs2 sm4 md2>
      <v-btn flat color='red' slot='activator' class='right mx-0 my-0' @click='deleteProject()'>
      <v-icon>delete</v-icon>
     </v-btn>
        <div>
          <v-chip small :class="`${project.status} white--text caption mx-0`">{{ project.status}}</v-chip>
        </div>
      </v-flex>
    </v-layout>
    <v-divider></v-divider>
  </v-card>

И этот метод я пытаюсьнаписать

deleteProject() {
  console.log('deleted');
  let idP = element.id; // obviously that i have problem with this line
  db.collection('projects').doc(idP).delete()
}

1 Ответ

0 голосов
/ 25 марта 2019

Я думаю, что вы извлекаете projects из firebase, и вы всегда получите Id для документа Firebase, который вы извлекаете.Вы должны сохранить это id с остальными значениями.После этого, когда вы вызываете вашу функцию deleteProject, вы можете передать свою Id в эту функцию следующим образом.

<v-btn flat color='red' slot='activator' class='right mx-0 my-0' @click='deleteProject(project.Id)'>

И затем получить Id в вашей функции следующим образом

deleteProject(Id) {
  console.log('deleted');
  db.collection('projects').doc(Id).delete()
}

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...