ฉันมี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
แต่ปัญหายังคงมีอยู่