首页 > 解决方案 > 如何将函数传递给较低的小部件

问题描述

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 方法

标签: flutterdart

解决方案


假设调用了“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;

  // ...
}

推荐阅读