Getx,Flutter 如何在每次列表加载其初始索引值时更新列表视图生成器中变量的状态?

问题描述 投票:0回答:1

所以我必须创建一个愿望清单,并且我正在从 api 获取数据。如果 api 返回 outofstock = true ,我将需要隐藏“添加到购物车”按钮,如果 api 返回有库存,我将需要显示该按钮。问题是在 getx 中我们需要 obs 变量来改变状态,如果我创建一个 obs 变量并每次更新它的值,它仍然采用初始值。

我尝试创建一个 obs 变量来收集来自 api 的响应并将其保存到 obs 变量,然后使用该变量检查是否有库存,然后显示按钮,否则没有,但每次帮助时 obs 变量的值都是 false

ListView.builder( physics: const NeverScrollableScrollPhysics(), shrinkWrap: true, itemCount: controller.wishlistData.length, itemBuilder: (BuildContext context, int index) { final data =controller.wishlistData[index]; controller.outOfStockFlag.value = data.variantMeta!.bOutOfStockFlag!;
controller.outOfStockFlag 的值最初设置为 true,然后对于下一个构建,它仍然是 staticall true,作为响应,我得到 true 和 false

flutter listview flutter-getx
1个回答
0
投票

当你从api获取数据时,你需要检查更改obs变量。 例如:

void _checkData() async {
var data = await ...;
if(...) outofstock.value = true;
else outofstock.value = false;
update();
}
© www.soinside.com 2019 - 2024. All rights reserved.