私は持っtextfieldていsqfliteますが、アプリでデータベースを使用しています。sqflite私は私に割り当てる必要がある値を持っていますtextfield
これが私のtextfieldコードです
StreamBuilder<String>(
stream: patientHealthFormBloc.doctorName,
builder: (context, snapshot) {
return TextFormField(
initialValue: patientHealthFormBloc.doctorNameValue,
onChanged: (value) {
patientHealthFormBloc.doctorNameChanged(value);
},
...
今initstate私のクラスのメソッドで、データベースから値をフェッチしています。非同期操作なので時間がかかります。
私のblocクラスには次のようなコードがあります
Function(String) get doctorNameChanged => _doctorName.sink.add;
データベースから値を受け取ったらすぐに次を呼び出します
doctorNameChanged("valuefromdatabase");
テキストフィールドに値が表示されません。また、私のデータベースには値が存在します。それは使用せずに値を更新することは可能ですTextEditingControllerかsetState。私は私のクラスは、あまりにも、私はと同じアプローチを使用してみましたが、上記のいずれかを使用するには複雑chuncks及び方法の多くに分割されたとして、それらを避けるためにしようとミリアンペアRadioButtonとCheckBox、彼らは正しく更新するように見えます。_doctorName.stream.valueデータベースに存在する値も更新され ますが、textfieldデータは表示されません。また、色を変えてみたtextfieldので問題はなく、タイプもわかります。
アプリの小さなデモを作成しましたhttps://github.com/PritishSawant/demo/tree/master/lib
を使用する代わりにsqflite、私は使用してshared preferencesいますが、問題は解決しません