我刚开始学习 Flutter 并尝试将一个简单的 Todo 应用程序连接到 Firestore。为此,我想使用 setOption 'merge' 以便之前的列表不会被删除。但是,每次尝试调试时,我都会收到错误消息“没有名称为 'merge' 的命名参数”。这是合并的代码:
import 'package:cloud_firestore/cloud_firestore.dart';
class DatabaseService {
final String userID;
DatabaseService(this.userID);
final CollectionReference userToDos =
FirebaseFirestore.instance.collection('userToDos');
Future setTodo(String key, bool value) async {
return await userToDos.doc(userID).set({key: value}, merge: true);
}
Future deleteTodo(String key) async {
return await userToDos.doc(userID).update({
key: FieldValue.delete(),
});
}
Run Code Online (Sandbox Code Playgroud)
这是其余的代码:
import 'package:flutter/material.dart';
import 'add_item_dialog.dart';
import 'to_do_item.dart';
import 'database.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
void main() => runApp(MaterialApp(home: ToDo()));
class ToDo extends StatefulWidget {
@override
_ToDoState createState() => _ToDoState();
} …Run Code Online (Sandbox Code Playgroud)