【发布时间】:2022-08-21 17:14:13
【问题描述】:
在香草颤振中,我们将多个参数传递给其他屏幕,如下所示:
Navigator.of(context).push(MaterialPageRoute(
builder: (_) => CatalogFilterPage(
list: list,
bloc: bloc,
)))
非常简单和容易。我可以传递 2 个需要的参数,列表和块。在 CatalogFilterPage 中使用后。
现在切换到 go_router 并查看documentation 后,我似乎无法找到如何传递多个数据。即使传递单个对象似乎也不是很好:
onTap: () =>
context.pushNamed(\'SelectedCatalogItem\', extra: list[index]),
在路由器中,我必须使用强制转换来设置正确的类型:
builder: (context, state) => SelectedCatalogItem(
item: state.extra as ListItemsModel,
),
单个参数很好。但现在我不知道如何传递多个参数。我该怎么做?甚至将参数(例如模型)作为额外的参数传递是正确的方法吗?
附言我知道您可以将参数传递为context.pushNamed(\'CatalogFilterPage\', params: ___),但params 的类型为 Map<String, String> 女巫不让我通过模型