Flutter类型不匹配错误:添加服务失败但产品功能正常
问题原因及解决方案
错误核心是Firestore的set()方法参数类型不匹配:
在你的addService方法中,这一行代码:
await ref.set({modelTreatment.toJson()});
这里的{modelTreatment.toJson()}是创建了一个_Set<Map<String, dynamic>>类型的集合(Set),但Firestore的set()方法要求传入Map<String, dynamic>类型的数据,直接导致了类型转换错误。
添加产品功能正常,说明产品上传代码是直接传入了Map,没有用多余的大括号包裹。
修复步骤
将上述代码修改为:
await ref.set(modelTreatment.toJson());
直接传入toJson()返回的Map对象即可,无需额外用大括号包裹。
修改后,Firestore就能正确识别并存储服务数据,图片上传逻辑本身无问题,会继续正常运行。
内容的提问来源于stack exchange,提问作者HaKim
相关产品推荐
相关产品推荐

