Maxsus kiritish va FormField
Biz bor ko'rgan Qanday the Shakl va FormField vidjetlar Yordam bering bilan kiritish manipulyatsiya va tasdiqlash. Bundan tashqari, biz bilamizki, Flutter bir qator kiritish vidjetlari bilan birga keladi, ular FormField variantlar va shunga o'xshash ma'lumotlarga kirish va tekshirish uchun yordamchi funktsiyalarni o'z ichiga oladi, masalan.
Flutterning kengayishi va moslashuvchanligi hamma joyda mavjud. Shunday qilib, maxsus maydonlarni yaratish mantiqan mumkin, bu erda biz o'z kiritish usulini qo'shishimiz, tekshirishni ochishimiz mumkin orqali tasdiqlovchi qayta qo'ng'iroq qilish, va shuningdek foydalanish the saqlash() va qayta o'rnatish() usullari.
Yaratish odatiy kirishlar
Yaratish a odatiy kiritish ichida Flutter hisoblanadi kabi oddiy kabi yaratish a normal vidjet, bilan Yuqorida tavsiflangan qo'shimcha usullar. Biz buni odatda uzaytirish orqali qilamiz
the FormField vidjet, qayerda kirish turi hisoblanadi the qiymat turi ning the kiritish vidjeti.
Shunday qilib, the tipik jarayon hisoblanadi quyidagicha :
Stateful ni kengaytiradigan maxsus vidjet yarating vidjet (qiymatni kuzatish uchun) va qabul qiladi kiritish dan the foydalanuvchi tomonidan kapsulalovchi boshqa kiritish vidjet, yoki butun jarayonni sozlash orqali, masalan, imo-ishoralar yordamida.
Yaratmoq a vidjet bu uzaytiradi FormField bu asosan ko'rsatadi the kiritish vidjet oldingi bosqichda yaratilgan va uning maydonlarini ham ochib beradi.
Maxsus kiritish vidjet misol
Keyinchalik, bobda 8 , Firebase plaginlari , biz ilovamizga autentifikatsiyani qanday qo'shishni ko'rib chiqamiz. Hozircha biz ushbu bosqichda ishlatilganiga o'xshash maxsus vidjet yaratamiz. Autentifikatsiya Firebase autentsiyasiga asoslanadi telefon raqamidan foydalangan holda xizmatlar, qaerda the telefon raqam taqdim etilgan oladi a olti raqamli tekshirish kod ning bu kerak Muvaffaqiyatli tizimga kirish uchun server qiymatini moslang. Hozircha, biz maxsus kiritish vidjetini yaratish uchun bilishimiz kerak bo'lgan barcha ma'lumotlar shu. Bu shunday ko'rinadi:
The vidjet bo'ladi bo'l a oddiy olti xonali kiritish vidjet, qaysi keyinroq bo'ladi bo'lish FormField _
vidjet va fosh qilish the saqlash() , reset() , va validate() usullari.
Yaratish a Kirish vidjeti
Biz boshlash tomonidan yaratish a normal odatiy vidjet. Bu yerda, biz fosh qilish biroz xususiyatlari. Ayiq Shuni yodda tutingki, haqiqiy dasturda biz bu erda ko'rsatilgan xususiyatlardan ko'ra ko'proq narsani oshkor qilishimiz mumkin, ammo bu misol uchun etarli:
sinf VerificationCodeInput uzaytiradi StatefulVidget { final BorderSide chegara tomoni;
final onChanged; final boshqaruvchi;
... // boshqa qismlar olib tashlandi uchun qisqalik
}
The faqat muhim mulk fosh qilingan Bu yerga hisoblanadi boshqaruvchi . Biz bo'ladi qarang the sabab ichida a bir necha daqiqa. Birinchidan, keling, bog'langan davlatni tekshiramiz sinf:
sinf _VerificationCodeInputState uzaytiradi Holat { @override
Vidjet qurish (BuildContext kontekst) { qaytish TextField(
Do'stlaringiz bilan baham: |