首页 > 解决方案 > 使用 onTapLink 时出错:无法分配参数类型'void Function(String, String, String)'

问题描述

我正在尝试在我的 Markdown 小部件中实现 onTapLink(使用 flutter_markdown 库)。互联网上的任何地方都告诉您使用

onTapLink: (url) => launch(url),

或者

onTapLink: (url){
    launch(url);
},

但是当我这样做时,我得到了错误

参数类型“Future Function(String)”不能分配给参数类型“void Function(String, String, String)”。

标签: flutterwidget

解决方案


当我搜索 'flutter_markdown' api 定义时,'onTapLink' 有 3 个参数。
https://github.com/flutter/flutter_markdown/blob/1433d0fcb0cbc775bb258ab3dea720e764e42f92/lib/src/widget.dart#L22

所以,虽然你不需要其他参数,但你需要定义和使用你想要的参数。

onTapLink: (text, href, title) {
   launch(href);
}

推荐阅读