Kursus Singkat 101
10 Modul
5 Minggu

Tabel

Klik untuk menyalin

Menggunakan tabel dan mendapatkan data untuk itu di aplikasi web


Catatan pertama muncul di database! Tapi kami tidak melihatnya, dan itu perlu diperbaiki. Untuk melakukan ini, Anda memerlukan komponen Table (tabel yang akan menampilkan data yang diperlukan). Segera setelah menambahkan, itu akan meminta Anda untuk memutuskan data apa yang akan ada di dalamnya dan memilih model dan titik akhir.

Pengaturan meja

Tabel yang dibuat harus segera diterbitkan sesuai dengan kebutuhan Anda. Misalnya, batasi jumlah rekaman pada satu halaman (tabel bisa sangat panjang dan multi-halaman), serta hapus bidang yang tidak menarik atau atur bidang yang diinginkan untuk keluaran dari tabel terkait.

Pada saat yang sama, kami ingat bahwa hanya penambahan komponen apa pun belum berarti kesiapannya untuk bekerja sepenuhnya. Anda perlu membuat proses bisnis yang sesuai. Untuk tabel, banyak yang dibuat secara otomatis, tetapi sebagai bagian dari pelatihan, kami akan membuat semuanya dari awal untuk mengasimilasi materi dengan lebih baik.

Pemicu tabel

Ada tiga pemicu yang paling menarik dalam tabel - onDataUpdate , onShow , dan onFilter . Mari kita mulai dengan onShow dan menentukan apa yang harus terjadi ketika tabel ditampilkan di layar. Ini akan membutuhkan tiga blok:

1) Table Update Properties . Atur properti tabel yang diinginkan. Misalnya, di sini Anda dapat membatasi jumlah record pada satu halaman (mengatur parameter Records per page = 10 ) dan juga menunjukkan bahwa halaman tersebut dalam mode pemuatan data ( Loading = true )

2) Server request GET /country/ . Agar data muncul, mereka perlu dibawa ke suatu tempat. Dan untuk melakukan ini, buat permintaan ke database untuk titik akhir yang sesuai. Pada saat yang sama, perhatikan jumlah parameter input dari titik akhir ini. Mereka memberikan lebih banyak fleksibilitas dalam kueri dan hanya mendapatkan data yang benar-benar dibutuhkan.
Dalam kasus kami, kami akan menetapkan _limit = 10 karena jumlah entri per halaman adalah 10, dan tidak ada gunanya memuat lebih banyak. Selain itu, kami akan membuat urutan output yang benar, mengurutkan semuanya berdasarkan nama ( _sort_by = name ), dan juga mengatur urutan sortir. Parameter _sort_order dapat mengambil nilai ASC (dari kata Ascending , untuk pengurutan langsung, dari nilai terkecil hingga terbesar) atau DESC ( Descending , urutan terbalik). Penyortiran abjad langsung baik-baik saja bagi kami, jadi _sort_order = ASC .

Parameter _with layak mendapat perhatian khusus. Menjalankan kueri tanpa itu, kami hanya bisa mendapatkan data tentang negara. Tetapi model negara terkait dengan kota, dan meskipun data ini tidak termasuk dalam tabel yang diminta, kami masih ingin melihatnya. Untuk melakukan ini, atur _with = citys dan segera dapatkan data tentang kota apa saja yang ada di negara ini.

3) Table Update Data . Data diterima, tetapi perlu ditransfer ke tabel untuk ditampilkan di layar. Untuk melakukan ini, kami melewatkan semua informasi ( data ) yang diterima di blok sebelumnya, serta jumlah total catatan ( count - Total Records ), untuk memahami berapa banyak halaman yang harus ada dalam tabel.

Pemicu selanjutnya adalah onDataUpdate . Data dalam tabel dapat diperbarui sebagai hasil dari berbagai proses bisnis. Dan ketika ini terjadi, yang terbaik adalah menentukan sekali apa yang harus terjadi dan tidak menempatkan blok yang sama di setiap proses bisnis. Dalam kasus kami, akan benar untuk menggunakan blok Table Update Properties lagi, tetapi kali ini untuk menghapus mode pemuatan ( Loading = false ), yang telah ditetapkan sebelumnya, dan menunjukkan bahwa tabel siap bekerja.

Pemicu terakhir yang kita butuhkan adalah onFilter . Ini mendefinisikan apa yang harus terjadi pada saat transisi ke halaman lain dari tabel. Untuk melakukan ini, ia memiliki parameter _offset , yang, sesuai dengan nomor halaman, menunjukkan offset apa yang diperlukan saat memuat data.

Misalnya, jika, dalam kasus kami, ada 10 entri pada setiap halaman, maka halaman ketiga akan membutuhkan entri dari 21 hingga 30. Data ini akan diperoleh dari _offset dan dapat diteruskan ke blok Server request GET /country/ . Jika tidak, proses bisnis akan sepenuhnya bertepatan dengan proses pada pemicu TableOnShow . Dalam situasi seperti itu, masuk akal jika dua pemicu berbeda meluncurkan proses bisnis yang sama.

Namun dalam kasus kami, perbedaan penting terletak pada parameter _offset . Jika Anda membiarkan semuanya seperti pada gambar di bawah, maka proses akan dimulai sesuai dengan pemicu onShow , tetapi akan berhenti di blok Server request GET /country/ karena tidak bisa mendapatkan nilai _offset (dilewati dari pemicu lain).

Situasi ini paling baik diselesaikan dengan menggunakan variabel. Mari kita lihat contoh spesifik. Kami membutuhkan variabel tipe Integer untuk menyimpan nilai _offset . Oleh karena itu, kami menggunakan satu blok Integer untuk mendeklarasikan variabel ini, tetapi dua blok Set Variable yang berbeda untuk menulis nilainya, masing-masing terkait dengan pemicu yang berbeda.

Menurut pemicu Table onShow , kita tidak memerlukan offset apa pun, data dalam tabel ditampilkan dari awal dan _offset = 0 , jadi kita menetapkan Value = 0 di blok Set Variable .

Saat pemicu Table onFilter diluncurkan, kita sudah menerima nilai _offset dan ingin menggunakannya sehingga kita akan meneruskan nilai _offset pemicu sebagai Value ke blok Set Variable .

Pada langkah selanjutnya, proses bisnis pemicu tidak berbeda satu sama lain, sehingga dua proses bisnis digabungkan menjadi satu, masing-masing dengan nilai variabel integernya sendiri untuk parameter _offset .

Was this article helpful?
Masih mencari jawaban?