当我尝试更新列表中的项目时,项目会更新,但 UI 不会更改。我正在使用 Getx,并且尝试过更新和刷新

  • 本文关键字:更新 项目 Getx 刷新 UI 列表 flutter flutter-getx
  • 更新时间 :
  • 英文 :


这是我的控制器

class TicketController extends GetxController {
var isLoading = true.obs;
var ticketList = List<Ticket>.empty(growable: true).obs;
@override
void onInit() {
getAllTickets();
super.onInit();
}
void getAllTickets() async {
try {
isLoading(true);
var tickets = await ApiService.getAllTickets();
if (tickets != null) {
ticketList.value = tickets;
ticketList.refresh();
//ticketList.assignAll(tickets);
}
} finally {
isLoading(false);
}
}
void updateStatus(String status, String id) async {
try {
await ApiService.updateTicket(status, id);
ticketList.refresh(); // I have used refresh method after searching but no difference
} catch (e) {
print(e);
}
}
}

我正在尝试使用此行进行更新

ticketController.updateStatus("SUCCESS", winner.id.toString());

我用GetBuilder包装了我的小部件,但列表中更新的项目没有改变,或者在ui中没有反应。任何帮助都将不胜感激。

当我遇到同样的问题时,我只是在调用API后删除了controller's数据,然后当我们回到屏幕时,它会预取所有数据

你可以尝试这样做

if (tickets != null) {
ticketList.value = tickets;
ticketList.refresh();
Get.delete<TicketController>();
}

最新更新