169 похожих чатов

I have a Dropdownbutton. I use it to update the

data comes from Firebase. its initial value is companyCountryString. I pass selected newValue to companyCountryString with onChanged's setState function.


DropdownButton(
value: companyCountryString,
icon: const Icon(Icons.keyboard_arrow_down_outlined),
items:
countriesList.map((String countries) {
return DropdownMenuItem(
value: countries,
child: Text(countries),
);
}).toList(),
onChanged: (String? newValue) {
setState(() {
companyCountryString = newValue!;
});
})


There is also a streambuilder above of the dropdownbutton to feed it as follows. It get and pass the values of Firebase to this Dropdownbutton.


body: StreamBuilder(
stream: db.collection("Companies").doc(widget.editedID).snapshots(),
builder: (context, AsyncSnapshot<DocumentSnapshot> snapshot) {
if (snapshot.hasData == false) {
return Center(
child: CircularProgressIndicator(),
);
}

Companies company = Companies.docToObject(snapshot.data!);

TextEditingController companyName =
TextEditingController(text: company.companyName);
TextEditingController companyShortName =
TextEditingController(text: company.companyShortName);
TextEditingController companyAddress =
TextEditingController(text: company.companyAddress);
String companyCountryString = company.companyCountry.toString();
TextEditingController companyPhone =
TextEditingController(text: company.companyPhone);
TextEditingController authUser_1 =
TextEditingController(text: company.authUser_1);
TextEditingController authUser_2 =
TextEditingController(text: company.authUser_2);
TextEditingController authUser_3 =
TextEditingController(text: company.authUser_3);
TextEditingController authUser_4 =
TextEditingController(text: company.authUser_4);

User select to change existing dropdown value. Setstate, sets the new value but Setstate also runs builder. And all process go to initial values. I have to use set state to update dropdown. But It also create a deadlock handicap. Could you please give a clue ?

3 ответов

8 просмотров

I am not sure about does StreamBuilder cause trouble like FutureBuilder with setState, you can try with separating context.

isa- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта