Key Kullanmadan Liste Render
Checkbox bir alt satıra taşınır

Yapılacaklar listesinde ikinci satırı işaretledim, sonra listeyi tarihe göre ters çevirdim. İşaret üçüncü satıra kaydı. Kayıt değişmedi; Element aynı slotta kaldı. Key yoktu.
ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
final item = items[index];
return CheckboxListTile(
key: ValueKey(item.id),
value: item.done,
title: Text(item.title),
onChanged: (value) => onToggle(item.id, value ?? false),
);
},
);
ValueKey(item.id) kimliği kayda bağlar. UniqueKey her rebuild'de yeni kimlik verir; state'i her seferinde sıfırlar, kaydırmayı 'çözer' gibi durur, aslında saklar. Index key'i sıralama değişince yine kayar.
Dismissible, TextField, AnimationController taşıyan satırlar aynı kurala daha çok bağlı. State'siz Text'te key çoğu zaman gürültü. State varsa kimlik şart.
Yorumlar
Yorumlar (0)
Yorumlar üyelere açık. Üye ol · Giriş yap