我有这个代码:
class buildApp extends StatefulWidget {
const buildApp({super.key});
@override
State<buildApp> createState() => _buildAppState();
}
class _buildAppState extends State<buildApp> {
@override
Widget build(BuildContext context) {
return LayoutBuilder(builder: (context,constraints){
if(constraints.maxWidth <= 768){
return buildPortrait(State);
}
return const Text('');
});
}
}
buildPortrait(){
...
}
字符串
问题是,在buildPortrait()中,我需要调用setState,因为我有一个DropDownButton和一个onChanged事件,但那里不存在steState。有可能做到吗?也许获取状态并作为变量传递?
当然,我是开放的新闻方法...我正试图创建一个肖像和lasdscape响应应用程序。
- 谢谢-谢谢
我可以在buildApp类中创建所有两个函数,buildPortrait()和buildLandScape(),但代码会变得一团糟。
1条答案
按热度按时间vktxenjb1#
正如我在评论中提到的
setState
仅在State类中可用。在您的示例中,您将其命名为_buildAppState
字符串
1.在其他情况下,一些开发人员希望将其方法分离到另一个文件中。这种代码风格有助于开发人员避免在文件中出现过多行代码。
如果要分离方法,可以使用以下解决方法:
你的方法在另一个文件中,
helper.dart
个型
buildApp.dart
个型