api调用和数量更新成功,但在屏幕上没有显示更新的数量这是我的代码
在这里我为构建器中的数量赋值 int qty = int.parse(cartProduct_list[0].products![index].quantity.toString());
数量更新
Row(
children: [
Text("Quantity : "),
DropdownButton(
isDense: true,
hint: Text("Quantity : "),
value: int.parse(cartProduct_list[0].products![index].quantity.toString()),
onChanged: (value) {
setState(() {
qty = value!;
});
print(qty);
isload = true;
_cartController.updateQty(email.toString(),
sessionData.toString(),
cartProduct_list[0].products![index].productId.toString(),
qty!).then( (value) async {
if(value == 200)
{
SharedPreferences prefs = await SharedPreferences.getInstance();
sessionData = prefs.getString('sessionData');
email = prefs.getString('username_controller');
_cartController.getCart(email!, sessionData!).then((product) {
setState(() {
cartProduct_list.add(product);
});
setState(() {
isload = false;
});
}); }
});
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text("Cart updated successfully.")));
},
items: _createList()
),
],
),
更新变量不正确。请尝试这个。
onChange: (value) {
setState(() {
cartProduct_list[0].products![index].quantity = value!;
});
}