【发布时间】:2022-01-12 22:53:10
【问题描述】:
在我的项目中,我有一个删除按钮,可以从 firebase firestore 中删除一些数据,我想做的是显示一个带有 undo 字的小吃栏,当按下它时,该过程将被取消并不会删除任何数据。我还没有找到解决办法。有可能吗?
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore
在我的项目中,我有一个删除按钮,可以从 firebase firestore 中删除一些数据,我想做的是显示一个带有 undo 字的小吃栏,当按下它时,该过程将被取消并不会删除任何数据。我还没有找到解决办法。有可能吗?
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore
Firestore 中的删除是永久性的;一旦你删除了一个文档,它就消失了。
如果您想提供撤消删除的选项,您需要:
【讨论】:
您可以使用Timer 创建一个可以在计时器用完之前随时取消的回调。
import 'dart:async';
void main() {
final cancelable = Timer(Duration(seconds: 5), () {
// The delete function should be here
print('canceled after 3 seconds');
});
Timer(Duration(seconds: 3), cancelable.cancel);
}
在此示例中,print() 回调在三秒后被取消,但您可以将 cancelable.cancel() 函数作为撤消按钮的回调传递,然后通过在 Firestore 上单击它来取消删除Timer 用完了
【讨论】: