gpt4 book ai didi

flutter - 如何将字段值类型的 serverstamp 添加到我已经存在的 typ 映射

转载 作者:行者123 更新时间:2023-12-03 04:49:28 25 4
gpt4 key购买 nike

我有一个方法应该为每个文档集添加一个服务器时间戳。

  Future<void> _setDocument(String path, {Map<String, dynamic> inputData}) async {
final outputData = {'createdAt':FieldValue.serverTimestamp()};
outputData.addAll(inputData)
try {
final DocumentReference documentReference = fireStore.document(path);
return documentReference.setData(outputData);
} on PlatformException catch (error) {
throw UserFriendlyException('Operation Failed', error.message);
}
}

但我不断收到以下错误
{Map<String, String> inputData}
The argument type 'Map<String, String>' can't be assigned to the parameter type 'Map<String, FieldValue>'.dartargument_type_not_assignable

那么如何将 map 添加在一起呢?

编辑

即使类型转换似乎也不起作用
final outputData = Map.castFrom<String, FieldValue, String, dynamic>({'createdAt':FieldValue.serverTimestamp()});
outputData.addAll(inputData);

它引发了他的以下错误
'CastMap<String, FieldValue, String, dynamic>' is not a subtype of type 'Map<String, String>' of 'other'

最佳答案

不声明类型,outputData被推断为 Map<String, FieldValue>
相反,您需要声明 outputData 的类型。

final Map<String, dynamic> outputData = {
'createdAt': FieldValue.serverTimestamp(),
};

关于flutter - 如何将字段值类型的 serverstamp 添加到我已经存在的 typ <String, Dynamic> 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61649003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com