0

我正在为购物车视图使用继承的小部件。在父小部件中,我将项目添加到列表中并调用 setState 来更新继承的小部件。在子小部件(购物车视图)中,我阅读了更新后的继承小部件项目列表。每次在购物车中创建新条目时,我都想滚动到列表视图的底部。但我无法这样做。

 @override
  Widget build(BuildContext context) {

 final CartItemProvider cartInfo = CartItemProvider.of(context);
    setState(() {
      cartList = cartInfo.cartItems;
      subtotal = cartInfo.subTotal;
      total = cartInfo.total;
      tax = cartInfo.tax;
      tenderAmount = cartInfo.tender;
      change = cartInfo.change;
    });
    if (cartList.isNotEmpty) {
      controller.animateTo(
        0.0,
        curve: Curves.easeOut,
        duration: const Duration(milliseconds: 300),
      );
    }

    return Container(
      child: Column(
        children: [
          Expanded(
            child: Container(
              child: Container(
                child: cartList.isNotEmpty
                    ? RawScrollbar(
                        thumbColor: Colors.grey[200],
                        isAlwaysShown: true,
                        controller: controller,
                        thickness: 12,
                        radius: Radius.circular(20),
                        child: ListView.separated(
                          controller: controller,
                          itemCount: cartList.length,
                          shrinkWrap: true,
                          padding: EdgeInsets.only(right: 10),
                          separatorBuilder: (context, index) {
                            return SizedBox(height: 5);
                          },
                          itemBuilder: (context, index) {
                            return SingleCartWidget(
                              resetSelection: () {
                                resetSelection(index);
                              },
                              cartItem: cartList[index],
                              fontSize: textSize,
                              removeItem: () {
                                if (cartList.isNotEmpty) {
                                  HotKeysWidget.of(context)
                                      .removeCartItem(cartList[index].id);
                                }
                              },
                            );
                          },
                        ),
                      )
                    : Text(
                        'Cart list is empty',
                        style: TextStyle(
                          color: Colors.white,
                          fontSize: 14,
                        ),
                      ),
              ),
            ),
          ), 
          
          //////////////REMAINING CODE
          ],),);
}

这是我的购物车视图代码。还有另一个小部件,我在其中将项目添加到列表并更新继承的小部件。添加到购物车效果很好,只想使用控制器添加自动滚动。

有人帮我吗?

谢谢

4

0 回答 0