flutter - 如何将函数传递给较低的小部件
问题描述
child: DismissiblePage(
direction: DismissDirection.down,
onDismiss: () => Navigator.of(context).pop(),
child: InstagramStorySwipe(
initialPage: index,
children: List.generate(
snapshot.data?.data?.data?.user?.feedReelsTray
?.edgeReelsTrayToReel?.edges?.length,
(index) => ViewStoryScreen(
// changePage: ,
index: index,
edges: snapshot.data.data.data.user.feedReelsTray
.edgeReelsTrayToReel.edges,
),
),
),
),
在这里,我在 InstagramStorySwipe 中有一个方法,我需要使用 ViewStoryScreen 调用它
编辑:整个代码也在另一个类中,所以我不能调用 InstagramSwipes 方法
解决方案
假设调用了“InstagramStorySwipe 中的方法” myMethod
,您可以向构造函数添加一个参数,ViewStoryScreen
如下所示:
class ViewStoryScreen extends StatelessWidget { // or StatefulWidget
ViewStoryScreen({
this.changePage,
this.index,
this.edges,
this.myMethod,
});
/// The method passed by the parent
final void Function() myMethod; // Change the signature of the function depending on myMethod
final String changePage;
// ...
}
推荐阅读
- javascript - Angular 中带有三个 JS 参考的 Javascript
- sql - 雪花分析查询设计
- firebase - Firebase 电话身份验证功能能否轻松迁移到 Amazon Cognito?
- python - C# WPF + Python
- java - 如何在枚举构造函数中 @Autowire @Component`s?
- css - 在 React 中使用 CSS Peek
- java - Spring Boot:Swagger-UI 白标错误
- python - 依赖于另一个循环的 Tk 事件循环
- python - .py 到 exe 不产生 matplotlib 图
- performance - 多个时间序列的超参数调整