我实际上有两个问题。
addWalletToUser(coinAddress) async {
final FirebaseUser user = (await FirebaseAuth.instance.currentUser());
try {
await Firestore.instance.collection('users').document(user.uid)
.updateData({
"cryptoAddresses": FieldValue.arrayUnion(coinAddress)
});
} catch (e) {
print('error caught: $e');
return null;
}
}
这将导致以下错误:flutter: type 'String' is not a subtype of type 'List<dynamic>'
addWalletToUser
应该返回null的情况下执行该if语句中的代码:if (addWalletToUser(_textController.text) != null)
任何帮助将不胜感激!
关于此错误:
flutter:类型'String'不是类型'List'的子类型
arrayUnion
采用类型为List<dynamic>
的参数:
static FieldValue arrayUnion(List<dynamic> elements) =>
FieldValue._(FieldValueType.arrayUnion, elements);
因此,您需要执行以下操作:
"cryptoAddresses": FieldValue.arrayUnion(['data1','data2','data3'])