Yazı Yazmaya Tepki Verin
Coddy'nin Flutter Journey'sinin Etkileşimli Uygulamalar bölümünün bir parçası. Ders 23 / 34.
Bir alan, metni her değiştiğinde sana bildirebilir. Ona onChanged: ver; bu, metnin o anki hâlinin tamamını alan bir işlevdir:
TextField(
onChanged: (String value) {
print(value);
},
)Ada yaz ve bu üç kez yazdırılır: A, Ad, Ada. (String value) bir parametredir; Parameters’lı İşlevler’deki parametreler gibi: alan, metnini kullanarak işlevini çağırır.
Metni ekranın başka bir yerinde göstermek için onu State içinde tut ve setState ile değiştir; tıpkı bir düğmenin sayıyı değiştirmesi gibi:
onChanged: (String value) {
setState(() {
_name = value;
});
},Görev
KolaySelamlamanın alanı izlemesini sağlayın: bir ad yazdıkça Hello, stranger!, Hello, Ada! olur. Metni onChanged içinden _name içine kaydedin.
Kendin dene
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
String _name = 'stranger';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Greeter')),
body: Padding(
padding: const EdgeInsets.all(24),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextField(
decoration: const InputDecoration(
labelText: 'Your name',
border: OutlineInputBorder(),
),
),
const SizedBox(height: 24),
Text('Hello, $_name!', style: const TextStyle(fontSize: 24)),
],
),
),
);
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Etkileşimli Uygulamalar bölümündeki tüm dersler
7Anahtarlar ve Kaydırıcılar
Bir Anahtarla Açıp KapatmaBir Onay Kutusunu İşaretlemeKaydırıcıyla Bir Değer Seçme3Durum Tutan Widget'lar
Kendi Widget SınıfınızSnackBar GöstermesetState Ekranı Yeniden ÇizerStatefulWidget YazmaSayacı Artırma ve AzaltmaHot Reload Durumu Korur6Metin Alanları
İlk Metin AlanınızYazı Yazmaya Tepki VerinBir Alanı Controller ile OkumaMetin Alanından SayılartoStringAsFixed ile Ondalık SayılarKendi başına pratik yap: Online Flutter derleyicisi