我在 Flutter 中有一个 Firebase 集合,我想在 reorderableListView 中拥有它。集合中的文档有一个“位置”字段,该字段应确定列表的顺序并在列表的重新排序时更新。
问问题
435 次
1 回答
0
我自己终于解决了。
onReorder: (oldIndex, newIndex) {
setState(() {
List<MyObjectClass> objectList =
myObjects
.data;
if (newIndex > oldIndex) {
newIndex -= 1;
}
final MyObjectClass
myObject = objectList.removeAt(oldIndex);
objectList.insert(newIndex, myObject);
for (MyObjectClass o in objectList) {
o.position = objectList.indexOf(o);
DatabaseService()
.updateMyObjects(
o);
}
});
}
这是假设您在 DatabaseService() 类中有一个函数,该函数将 Firestore 集合映射到对象,然后在 StreamBuilder 中有 ReorderableListView,它将所述对象“myObjects”的快照传递给它。
于 2020-04-21T10:58:54.830 回答