fix(runtime): add_remove_button cartInfo 误加 ! (nullfix 脚本) -> 去掉. getCartInfoByBusiness 返回可空, 购物车空时 ! 崩溃 -> AddRemoveButton build L197 Unexpected null value. 修复 /shop 商品列表和 /checkout lineItem 的 +/- 按钮崩溃
This commit is contained in:
@@ -288,13 +288,11 @@ class DesktopCheckoutState extends State<DesktopCheckout> with SingleTickerProvi
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget mainBody() {
|
Widget mainBody() {
|
||||||
final _bi = cartInfo?.businessInfo;
|
|
||||||
print('CK_DEBUG: bi=${_bi != null} shipTime=${_bi?.shippingTime} addr=${_bi?.address != null} name=${_bi?.name}');
|
|
||||||
return ListView.builder(
|
return ListView.builder(
|
||||||
itemCount: 6,
|
itemCount: 6,
|
||||||
addAutomaticKeepAlives: true,
|
addAutomaticKeepAlives: true,
|
||||||
itemBuilder: (BuildContext context, int position) {
|
itemBuilder: (BuildContext context, int position) {
|
||||||
var deliveryTimeInSeconds = (_bi?.shippingTime ?? 0) * 60 + (durationInTraffic != null ? durationInTraffic!.value ?? 0 : 0);
|
var deliveryTimeInSeconds = (cartInfo!.businessInfo!.shippingTime ?? 0) * 60 + (durationInTraffic != null ? durationInTraffic!.value ?? 0 : 0);
|
||||||
print('aaa: $deliveryTimeInSeconds');
|
print('aaa: $deliveryTimeInSeconds');
|
||||||
DateTime now = DateTime.now();
|
DateTime now = DateTime.now();
|
||||||
var formatter = DateFormat('H:mm');
|
var formatter = DateFormat('H:mm');
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ class AddRemoveButtonState extends State<AddRemoveButton> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
if (widget.product!.leftNum == null) {
|
if (widget.product!.leftNum == null) {
|
||||||
_qty = 0;
|
_qty = 0;
|
||||||
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!)!;
|
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!);
|
||||||
if (cartInfo != null) {
|
if (cartInfo != null) {
|
||||||
for (var i = 0; i < cartInfo!.productList!.length; i++) {
|
for (var i = 0; i < cartInfo!.productList!.length; i++) {
|
||||||
if (cartInfo!.productList![i].product!.id == widget.product!.id
|
if (cartInfo!.productList![i].product!.id == widget.product!.id
|
||||||
@@ -102,7 +102,7 @@ class AddRemoveButtonState extends State<AddRemoveButton> {
|
|||||||
}
|
}
|
||||||
if (widget.addToBasket) {
|
if (widget.addToBasket) {
|
||||||
_qty = 0;
|
_qty = 0;
|
||||||
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!)!;
|
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!);
|
||||||
if (cartInfo != null) {
|
if (cartInfo != null) {
|
||||||
for (var i = 0; i < cartInfo!.productList!.length; i++) {
|
for (var i = 0; i < cartInfo!.productList!.length; i++) {
|
||||||
if (cartInfo!.productList![i].product!.id == widget.product!.id) {
|
if (cartInfo!.productList![i].product!.id == widget.product!.id) {
|
||||||
@@ -194,7 +194,7 @@ class AddRemoveButtonState extends State<AddRemoveButton> {
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
_qty = 0;
|
_qty = 0;
|
||||||
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!)!;
|
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!);
|
||||||
if (cartInfo != null) {
|
if (cartInfo != null) {
|
||||||
for (var i = 0; i < cartInfo!.productList!.length; i++) {
|
for (var i = 0; i < cartInfo!.productList!.length; i++) {
|
||||||
if (cartInfo!.productList![i].product!.id == widget.product!.id) {
|
if (cartInfo!.productList![i].product!.id == widget.product!.id) {
|
||||||
|
|||||||
Reference in New Issue
Block a user