最近我正在努力将我的 json 值集成到 flutter 设计中,我遇到了一个错误
类型“_Map
”不是类型转换中“int”类型的子类型
我不知道为什么会出现这个错误,有人可以解释一下并给我纠正它的想法吗,谢谢。
代码:
GestureDetector(
onTap: () {
Navigator.pushNamed(
context,
confirmation,
arguments: {
'itemCount': _itemCount,
'product': widget.product,
},
);
},
_itemcount 是一个整数值,widget.product 是数据模型的列表值
final int itemCount;
final Product product;
const Previewpage({super.key, required this.itemCount, required this.product});
这是我想获取导航器代码值的页面代码
case preview: // Use the constant from constants.dart
final count = settings.arguments as int;
final product = settings.arguments as Product;
return MaterialPageRoute(
builder: (context) => Previewpage(
itemCount: count,
product: product,
),
);
这是也传递参数的路由生成器代码。
有人可以帮我解决这个问题,并解释一下为什么我们使用路由生成器进行路由。 我认为当想要传递值时,它就像另一个小部件的看门人一样,需要进行双重确认。仅此而已
要将传递的数据获取到另一条路线,您可以从已经传递的
settings
中提取它:
final count = settings.arguments['itemCount'] as int;
final product = settings.arguments['product'] as Product;
小心,我们使用了
[]
括号,因为您在参数中传递了 Map
。