我正在为购物车视图使用继承的小部件。在父小部件中,我将项目添加到列表中并调用 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
],),);
}
这是我的购物车视图代码。还有另一个小部件,我在其中将项目添加到列表并更新继承的小部件。添加到购物车效果很好,只想使用控制器添加自动滚动。
有人帮我吗?
谢谢