我想实现一种功能,如果单击图像,则该图像应导航到新页面。下面的代码一直运行良好,直到最近它在功能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的命名参数。尝试更正名称到现有的命名参数或使用此参数定义新参数名称
有人可以告诉我如何解决此问题。
正如您所提到的,它之前已经工作了,所以我相信您正在使用一些具有Carousel
小部件的第三方软件包,并且在其先前版本中,它具有onImageTap
,您在不知不觉中更新了插件,并且他们必须将其删除了或换成其他东西。
解决方案:
因此,您可以使用具有onImageTap
属性的先前版本,也可以使用其他版本。
[您可能想将Carousel
包裹在GestureDetector
中并按如下方式处理onTap
:
GestureDetector(
onTap: () {},
child: Carousel(...)
)