我试图通过 Navigator 传递一个参数,如下所示:
Navigator.of(context).pushNamed(EditProductScreen.routeName, arguments: id);
Run Code Online (Sandbox Code Playgroud)
但是当尝试使用它检索它时,final productId = ModalRoute.of(context)?.settings.arguments as String;
我收到此错误:type 'Null' is not a subtype of type 'String' in type cast。我也尝试过使用 bang!运算符,但没有成功。
我正在尝试建立一个消费者,但我得到了这个
参数类型“Widget?” 无法分配给参数类型“Widget”。
错误在生成器内的子项上加了下划线。这是代码:
Consumer<Cart>(
builder: (_, cart, ch) => Badge(
child: ch,
value: cart.itemCount.toString(),
),
child: IconButton(
icon: Icon(
Icons.shopping_cart,
),
onPressed: () {},
),
),
Run Code Online (Sandbox Code Playgroud)
这是它引用的徽章项目:
Widget build(BuildContext context) {
return Stack(
alignment: Alignment.center,
children: [
child,
Positioned(
right: 8,
top: 8,
child: Container(
padding: EdgeInsets.all(2.0),
// color: Theme.of(context).accentColor,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Theme.of(context).accentColor,
),
constraints: BoxConstraints(
minWidth: 16,
minHeight: 16,
),
child: Text(
value,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 10,
),
),
), …Run Code Online (Sandbox Code Playgroud)