我創建了一個串列并使用 getx obs 使其可觀察
var msgChat = List.filled(1, UserMessagesModel(), growable: true).obs;
如果我向它追加或添加一個新的,它會在 UI 中自動更新,但我的問題是,如果我在串列的類中使用單個值,它不會更新,直到我在它之前第二次這樣做更新
socket.on("msg_delivered", (del) {
OfflineDatabaseManager.instance.updateMsgReadData(del).then((value) {
uController.msgChat.forEach((el) {
if (el.msgId == del) {
print(el.msgId);
el.isRead = 'true';
}
});
});
});
我的串列視圖使用 Obx 小部件進行包裝,這使其作業,但如果串列類中的單個值發生更改,它不會更新,請有沒有辦法像重繪 串列或串列視圖一樣,我也無法使用,setState(() {});因為不在 a 內,Statefulbuilder而是在擴展到 getx 的類中
class SocketHandler extends GetxController {}
請問我該如何解決這個問題。謝謝。另外,如果您需要更多解釋,請告訴我解釋
uj5u.com熱心網友回復:
更改值后,您可以在 observable 上使用這樣的重繪 方法:
msgChat.refresh()
如果這不起作用,那可能是因為您沒有Obs正確使用
如果問題仍然存在,請分享 Obs 部分,以便我提供幫助
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/317331.html
