【发布时间】:2020-10-02 19:06:15
【问题描述】:
我正在使用 firebase firestore 和 Vue.js 创建一个简单的任务列表 Web 应用程序。一切似乎都很好,直到我尝试执行任务重新排序功能,这将项目变成了一场噩梦。
我可以使用基于著名的 sortable.js 库的 Vue Draggable 库在应用端轻松实现重新排序功能。基本上,我有一个迭代我的任务的 v-for 代码,如下所示:
<draggable v-model="tasks">
<div v-for="task in tasks" :key="task.id">{{task.title}}</div>
</draggable>
请注意,这是用一个可拖动组件包装的,每当我拖动元素时,该组件都会重新排序数组,因此我的任务模型数组会自动动态重新排序。
到目前为止一切顺利,但现在我正在尝试将此重新排序与 Firebase Firestore 同步,但是,即使它允许我将元素推送或删除到存储阵列 (https://firebase.google.com/docs/reference/js/firebase.firestore.FieldValue#static-arrayunion),它也不允许我在特定索引处插入,所以我无法保存重新排序。
我应该如何处理这个问题?
【问题讨论】:
标签: javascript firebase vue.js google-cloud-firestore