【问题标题】:The named parameter onImageTaped isn't defined未定义命名参数 onImageTaped
【发布时间】:2020-02-16 17:52:35
【问题描述】:

我想实现一个功能,如果单击图像,它应该导航到新页面。下面的代码一直运行良好,直到最近它在函数onImageTap 下向我显示了一个波浪状的红色错误。

child: new Carousel(
                          boxFit: BoxFit.cover,
                          images: list,
                          onImageTap: (imageIndex) {
                            Navigator.of(context).push(
                              new MaterialPageRoute(
                                builder: (context) => new DishDetails(
                                    detail_name:
                                        snapshot.data[imageIndex].data["title"],
                                    detail_picture: snapshot
                                        .data[imageIndex].data["image"]),
                              ),
                            );
                          },
                          autoplay: false,
                          dotSize: 4.0,
                          indicatorBgPadding: 4.0,
                          animationCurve: Curves.fastOutSlowIn,
                          animationDuration: Duration(milliseconds: 1000),
                        )));

当我将鼠标悬停在函数上时,我收到以下错误消息:

未定义命名参数 onImageTap。尝试更正名称 到现有的命名参数或使用此定义新参数 名字

谁能告诉我如何解决这个问题。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    正如您之前提到的那样,它可以正常工作,所以我相信您正在使用一些具有 Carousel 小部件的第三方软件包,并且在其先前版本之一中具有 onImageTap,您在不知不觉中更新了插件,他们一定已经删除了它或用其他东西代替它。

    解决方案:

    因此,您可以使用具有onImageTap 属性的先前版本,也可以使用其他内容。

    您可能希望将您的Carousel 包装在GestureDetector 中并处理onTap,例如:

    GestureDetector(
      onTap: () {},
      child: Carousel(...)
    )
    

    【讨论】:

    • 我实际上没有更新任何包。使用您提供的解决方案,我实际上希望在轮播中使用 onTap,因为图像在轮播中
    • 这是他们的链接:pub.dev/packages/carousel_pro#-readme-tab-我用的是最早的版本。
    • 如果您没有更新软件包,这怎么可能是真的,以前有些东西可以工作,但现在没有您更新任何东西?您是否尝试过上述解决方案,它应该可以工作,图像将收到onTap,如果您还没有尝试过,请尝试一下,我从来没有自己使用过这个插件。
    猜你喜欢
    • 2022-01-04
    • 2020-02-13
    • 2022-11-01
    • 2020-06-24
    • 2018-05-14
    • 2021-06-12
    • 2021-06-15
    • 2020-12-03
    相关资源
    最近更新 更多