Flutter中未显式使用FlatButton/RaisedButton却报错的解决方法
问题描述
未在代码中显式使用FlatButton或RaisedButton,但编译时出现如下错误:
../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.20.0/lib/src/platform_button.dart:269:14: Error: The method 'FlatButton' isn't defined for the class 'PlatformButton'. - 'PlatformButton' is from 'package:flutter_platform_widgets/src/platform_button.dart' ('../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.20.0/lib/src/platform_button.dart'). Try correcting the name to the name of an existing method, or defining a method named 'FlatButton'. return FlatButton( ^^^^^^^^^^ ../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.20.0/lib/src/platform_button.dart:302:12: Error: The method 'RaisedButton' isn't defined for the class 'PlatformButton'. - 'PlatformButton' is from 'package:flutter_platform_widgets/src/platform_button.dart' ('../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.20.0/lib/src/platform_button.dart'). Try correcting the name to the name of an existing method, or defining a method named 'RaisedButton'. return RaisedButton( ^^^^^^^^^^^^
尝试过相关解决方案但无效,寻求帮助。
解决方案
升级
flutter_platform_widgets依赖:报错中的依赖版本为1.20.0,该版本较旧,仍在调用Flutter已弃用的FlatButton和RaisedButton组件(Flutter 2.0+已替换为TextButton和ElevatedButton),与新版Flutter SDK不兼容。打开项目根目录的pubspec.yaml文件,将flutter_platform_widgets的版本更新至最新稳定版,示例如下:dependencies: flutter_platform_widgets: ^6.0.0 # 以pub.dev显示的最新稳定版为准执行
flutter pub get完成依赖更新。清理Flutter缓存:缓存异常可能导致依赖加载错误,依次执行以下命令:
flutter clean flutter pub get升级Flutter SDK:确保使用的是最新稳定版Flutter SDK,执行命令完成升级:
flutter upgrade排查依赖冲突:若升级后问题仍存在,可能是其他依赖间接引入了旧版
flutter_platform_widgets。执行flutter pub deps查看完整依赖树,定位冲突依赖并调整版本。
内容的提问来源于stack exchange,提问作者HOVOZOUNKOU Ebénézer
相关产品推荐
相关产品推荐

