Bagaimana cara memberikan nilai awal untuk text field?
I'd ingin memberikan nilai awal untuk bidang teks dan redraw itu dengan nilai kosong untuk menghapus teks. Apa's pendekatan yang terbaik untuk melakukan itu dengan Bergetar's Api?
77
9
(Dari milis. Aku't datang dengan jawaban ini.)
Anda dapat menggunakan
TextFormField
bukanTextField
, dan menggunakaninitialValue
properti. misalnyaAnda don't harus mendefinisikan variabel terpisah di widget lingkup, lakukan saja inline:
Jika anda ingin menangani beberapa
TextInput ini seperti yang diminta oleh @MRT di komentar dengan jawaban yang diterima, anda dapat membuat fungsi yang mengambil nilai awal dan kembali
TextEditingController` seperti ini:Kemudian, set ini berfungsi sebagai controller untuk
TextInput
dan pasokan nilai awal ada seperti ini:Anda bisa mengulang ini untuk yang lain `TextInput ini.
di dalam kelas,
TextField,
atau
Hal ini dapat dicapai dengan menggunakan TextEditingController
TextEditingController _controller = TextEditingController(teks: 'nilai awal'); atau Jika anda menggunakan TextFormField anda memiliki initialValue properti di sana. Yang pada dasarnya menyediakan ini initialValue ke controller secara otomatis.
TextEditingController _controller = TextEditingController(); TextFormField( controller: _controller, initialValue: 'nilai awal' ) 2. Untuk menghapus teks anda dapat menggunakan
_controller.jelas()
metodeJika anda belum't menemukan jawaban untuk ini dan untuk orang-orang yang datang ke sini mencari jawaban: Checkout
InputDecoration
field's hintText: