Study
Flutter

Passing Data Antar Halaman

Penjelasan

Data dikirim KE halaman tujuan cukup lewat constructor widget-nya (parameter biasa). Untuk MENERIMA hasil balik dari halaman yang di-pop (mis. halaman form yang mengembalikan data terisi), Navigator.push() di-await, dan Navigator.pop(data) di halaman tujuan mengirim data itu balik ke pemanggilnya.

Contoh Konsep

// Mengirim data ke halaman tujuan:
Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => HalamanDetail(idProduk: 5)),
);

// Menerima hasil balik:
final hasil = await Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => const HalamanForm()),
);
print('Data diterima: $hasil');

// Di HalamanForm, mengirim balik:
// Navigator.pop(context, 'Data dari form');

Praktikum

Buat HalamanDetailArtikel yang menerima parameter idArtikel (int) lewat constructor, tampilkan "Artikel id: $idArtikel". Tulis contoh Navigator.push() yang mengirim idArtikel = 7 ke halaman itu.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

required this.idArtikel di constructor berarti parameter itu WAJIB diisi setiap kali widget-nya dibuat — Dart akan ERROR SAAT COMPILE (bukan cuma warning) kalau kamu lupa mengisinya, mencegah bug "lupa passing data" ketahuan sejak development, bukan baru ketahuan saat aplikasi dijalankan.