ฉันมีtextfieldและฉันใช้sqfliteฐานข้อมูลในแอปของฉัน sqfliteมีค่าที่ฉันต้องการจะกำหนดให้กับฉันtextfield
นี่คือtextfieldรหัสของฉัน
StreamBuilder<String>(
stream: patientHealthFormBloc.doctorName,
builder: (context, snapshot) {
return TextFormField(
initialValue: patientHealthFormBloc.doctorNameValue,
onChanged: (value) {
patientHealthFormBloc.doctorNameChanged(value);
},
...
ตอนนี้ในinitstateวิธีการเรียนของฉันฉันกำลังดึงค่าจากฐานข้อมูล มันเป็นการดำเนินการแบบอะซิงโครนัสดังนั้นจึงต้องใช้เวลา
คลาสกลุ่มของฉันมีรหัสดังนี้
Function(String) get doctorNameChanged => _doctorName.sink.add;
ดังนั้นทันทีที่ฉันได้รับค่าจากฐานข้อมูลฉันเรียกดังต่อไปนี้
doctorNameChanged("valuefromdatabase");
แต่ฉันไม่เห็นคุณค่าในฟิลด์ข้อความของฉัน นอกจากนี้ยังมีค่าอยู่ในฐานข้อมูลของฉัน มันเป็นไปได้ที่จะปรับปรุงค่าโดยไม่ต้องใช้หรือTextEditingController setStateฉัน ma พยายามที่จะหลีกเลี่ยงการเหล่านั้นเป็นชั้นเรียนของฉันจะแบ่งออกเป็นจำนวนมาก chuncks และวิธีการที่ซับซ้อนเกินไปที่จะใช้ใด ๆ ข้างต้นที่ผมได้ลองใช้วิธีการเดียวกันกับRadioButtonและCheckBoxและพวกเขาดูเหมือนจะอัปเดตอย่างถูกต้อง ค่าจะถูกอัพเดต _doctorName.stream.valueซึ่งมีอยู่ในฐานข้อมูล แต่textfieldไม่แสดงข้อมูลใด ๆ นอกจากนี้ฉันพยายามเปลี่ยนสีของtextfieldดังนั้นจึงไม่มีปัญหาเช่นเดียวกับที่ฉันสามารถดูสิ่งที่ฉันพิมพ์
ฉันได้ทำการสาธิตแอพเล็ก ๆhttps://github.com/PritishSawant/demo/tree/master/lib
แทนที่จะใช้sqfliteฉันกำลังใช้shared preferencesแต่ปัญหายังคงมีอยู่