v-for循环仅显示最新上传

时间:2018-09-23 23:36:53

标签: vue.js google-cloud-firestore

在我们的应用中,用户需要能够将其驾驶执照的副本上传到其个人资料。然后,如果他们需要更新其许可证,则可以上传另一个许可证。但是,用户只能看到他们最近上传的内容。

我们的v-for循环:

<div v-for="(license, index) in licenses.slice(0, 1)" :key="license.id">
       <img :src="license.licenseUrl" class="upload" />
      </div>

数据库调用:

firestore () {
return {
  user: db.collection('users').doc(this.userAuth.id),
  uploads: db.collection('users').doc(this.userAuth.id).collection('uploads'),
  licenses: db.collection('users').doc(this.userAuth.id).collection('licenses')
}
},

还有vuex:

db.collection('users').doc(payload.profile).collection('licenses').add({
        licenseUrl: downloadURL,
        uploaded: createdAt
      })

1 个答案:

答案 0 :(得分:0)

正如@Stephan Thomas在其评论中提到的那样,我强调在这种情况下不要使用v-for。

v-for在循环上呈现您的视图,因此licenses变量上的所有项目都将被呈现。由于您只想显示最新上传的内容,因此建议您按索引手动进行抓取。

假设许可证是Array,并且所需项目位于索引0,请使用类似以下内容的

<div v-if="licenses.length > 0"> <!-- check if array not empty --> <img :src="licenses[0]" class="upload" /> <!-- get access --> </div>