如何解决Flutter中TextTheme类不存在getter 'body1'的报错
错误原因
Flutter 2.5及更高beta版本中,TextTheme类已移除原废弃属性body1,替换为bodyText1,你使用的place_picker-0.9.19-nullsafety插件未适配该变更,因此触发编译报错。
解决方法
- 方案1:临时修改本地插件代码(快速验证可用)
找到本地Pub缓存中该插件的两个报错文件,将所有Theme.of(context).textTheme.body1替换为Theme.of(context).textTheme.bodyText1:place_picker-0.9.19-nullsafety/lib/widgets/rich_suggestion.dart第35行place_picker-0.9.19-nullsafety/lib/widgets/search_input.dart第60行
修改后重新编译项目即可正常运行。
- 方案2:使用适配后的插件版本(长期适用)
自行fork原place_picker仓库,修改上述两处代码后,在项目pubspec.yaml中直接依赖你修改后的git仓库分支,避免后续清除Pub缓存后需要重复修改。 - 方案3:回退Flutter版本
若暂时不想调整插件代码,可将Flutter beta通道版本回退至2.5.0之前的版本,也可规避该报错,但更推荐前两种方案适配新版SDK。
内容的提问来源于stack exchange,提问作者Shruti Ramnandan Sharma
相关产品推荐
相关产品推荐

