Merhabalar flutter mobx ile ilgili bir sorunum var ve çözemiyorum.

Bir Question ve bir Answers iki modelim var.
Question modelimin içinde Answers modelinden liste var.
Kısaca bir soru modelim ve içinde cevapların tutulduğu listem var.

ben bu soruları jsonda çekip liste içinde tutuyorum orada bir sıkıntı yok.

List<Question> _answersSummaryList = new ObservableList(); (bu tanımın diğer türevlerini de denedim ObservableList ile başladım vb.)

benim ekrana cevapları ve soruları yansıttığım bir yer var.

ben bu soruları loop ile ekrana bastırıyorum.

` return ListView.builder(
itemCount: serviceStore.answersSummaryList.length,
itemBuilder: (context, index) {
return Observer(builder: (
) {
return ReadOnlyWidget(
question: _serviceStore.answersSummaryList[index],
editIcon: true,
onPress: ( showModalBottomSheetSummary(
context, _serviceStore.answersSummaryList[index]) {

ve bunu listeyi butona basılınca açılan showmodal içinde update ediyorum. Arka planda obje güncelleniyor ama ekrana yansımıyor. hot reload yaparsam güncelleniyor.

güncelleme fonksiyonum da şu şekilde;

`@action
updateAnswer({Question question}) {

//daha önce seçilen seçeneği false yapıyorum. ekranımda true olan gözükmesi lazım


_answersSummaryList
.firstWhere((item) => item.id == question.id)
.answers
.firstWhere((element) => element.isSelected == true)
.isSelected = false;

//sonradan seçtiğim ve id sini _answerId ye atadığım cevabı true yapıyorum.


_answersSummaryList
    .firstWhere((item) => item.id == question.id)
    .answers
    .firstWhere((element) => element.id == _answerId)
    .isSelected = true;

}
`

Observer widgetını heryere koydum ama çözüm bulamadım.
_answersSummaryList inden remove question yapınca ekrandan siliniyor observer çalışıyor ama içindeki answers listesinden bir değer değiştirine ekrana yansımıyor. İçindeki değer değişiyor ama.

Write a Reply...