Cloud Firestore文档特定字段删除报错,求正确实现方法
解决Cloud Firestore 0.13.2+1版本删除字段的类型错误问题
这个type 'MethodChannelFieldValue' is not a subtype of type 'FieldValuePlatform'错误,通常是因为FieldValue的导入或使用方式不对导致的,在你使用的0.13.2+1版本里,可以按下面的步骤修复:
1. 确认正确的导入
确保你导入的是cloud_firestore包自带的FieldValue,别混入其他包的同名类:
import 'package:cloud_firestore/cloud_firestore.dart';
2. 使用修正后的字段删除代码
你的核心逻辑其实没问题,只要保证FieldValue.delete()来自正确的包就行,完整代码如下:
Firestore.instance .collection('path') .document('name') .updateData({'Desc': FieldValue.delete()}) .whenComplete(() { print('Field Deleted'); });
3. 额外排查小技巧
- 如果项目里同时引入了其他Firebase相关包(比如firebase_storage),一定要注意别误导入其他包的FieldValue类
- 试试执行
flutter clean和flutter pub get,清理缓存后重新运行项目,有时候缓存会引发这种类型不匹配的奇怪问题
要是还是有问题,可以检查pubspec.yaml里的cloud_firestore版本是否确实是0.13.2+1,看看有没有其他依赖包和它存在版本冲突的情况。
内容的提问来源于stack exchange,提问作者iDecode
相关产品推荐
相关产品推荐

