这是我的控制器
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>();
}