Saya punya textfielddan saya menggunakan sqflitebasis data di aplikasi saya. The sqflitememiliki nilai yang saya perlu untuk menetapkan ke sayatextfield
Ini textfieldkode saya
StreamBuilder<String>(
stream: patientHealthFormBloc.doctorName,
builder: (context, snapshot) {
return TextFormField(
initialValue: patientHealthFormBloc.doctorNameValue,
onChanged: (value) {
patientHealthFormBloc.doctorNameChanged(value);
},
...
Sekarang dalam initstatemetode kelas saya, saya mengambil nilai dari database. Itu menjadi operasi yang tidak sinkron sehingga butuh waktu.
Kelas blok saya memiliki kode seperti berikut
Function(String) get doctorNameChanged => _doctorName.sink.add;
jadi segera setelah saya menerima nilai dari database saya sebut berikut
doctorNameChanged("valuefromdatabase");
tetapi saya tidak bisa melihat nilai di bidang teks saya. Juga ada nilai yang ada di basis data saya. Apakah mungkin untuk memperbarui nilai tanpa menggunakan TextEditingControlleratau setState. Saya mencoba untuk menghindari mereka karena kelas saya terbagi dalam banyak chuncks dan terlalu rumit untuk menggunakan salah satu di atas saya telah mencoba menggunakan pendekatan yang sama dengan RadioButtondan CheckBoxdan mereka tampaknya memperbarui dengan benar. Nilai ini juga diperbarui di _doctorName.stream.valuemana ada dalam database tetapi textfieldtidak menunjukkan data apa pun. Saya juga mencoba mengubah warna textfieldjadi tidak ada masalah di sana dan saya bisa melihat apa yang saya ketik.
Saya telah membuat demo kecil aplikasi https://github.com/PritishSawant/demo/tree/master/lib
Alih-alih menggunakan sqflite, saya menggunakan shared preferencestetapi masalahnya tetap ada