【发布时间】:2020-09-11 08:34:10
【问题描述】:
我试图在用户按下“添加到购物车”按钮后显示一条小吃店消息,但出现以下错误:
[VERBOSE-2:ui_dart_state.cc(166)] 未处理的异常:NoSuchMethodError:方法 'showSnackBar' 在 null 上被调用。
接收者:空
尝试调用:showSnackBar('SnackBar'的实例)
这是我的代码:
class ProductDetail extends StatefulWidget {
final Product product;
ProductDetail(this.product);
@override
_ProductDetailState createState() => _ProductDetailState();
}
class _ProductDetailState extends State<ProductDetail> {
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
CartService _cartService = CartService();
_addToCart(BuildContext context, Product product) async {
var result = await _cartService.addToCart(product);
if (result > 0) {
print(result);
_showSnackMessage(Text(
'Item added to cart successfully!',
style: TextStyle(color: Colors.green),
));
} else {
_showSnackMessage(Text(
'Failed to add to cart!',
style: TextStyle(color: Colors.red),
));
}
}
_showSnackMessage(message) {
var snackBar = SnackBar(
content: message,
);
_scaffoldKey.currentState.showSnackBar(snackBar);
}
任何人都可以用你的专业知识帮助我吗?
【问题讨论】:
-
你已经得到了答案,但是如果你想展示一个更漂亮、更可定制的快餐栏,并且不用担心脚手架上下文,你可以使用这个package。
-
嘿@hiwajalal 我真的很喜欢那个包!谢谢分享!