Mulai Cepat: Membangun Komponen Tombol yang Dapat Diorkestrasi
Di React, kita biasanya merender komponen tombol seperti ini:
Meskipun kode di atas sederhana, ini adalah komponen statis yang tidak dapat memenuhi kebutuhan platform no-code akan kemampuan konfigurasi dan orkestrasi.
Pada FlowEngine NocoBase, kita dapat dengan cepat membangun komponen yang mendukung konfigurasi dan event-driven melalui FlowModel + FlowDefinition, sehingga mewujudkan kemampuan no-code yang lebih kuat.
Langkah Pertama: Render Komponen Menggunakan FlowModel
🧠 Konsep Kunci
FlowModeladalah model komponen inti dalam FlowEngine, yang merangkum logika komponen, render, dan kemampuan konfigurasi.- Setiap komponen UI dapat di-instansiasi dan dikelola secara terpadu melalui
FlowModel.
📌 Langkah Implementasi
1. Membuat Kelas Model Kustom
2. Membuat Instance Model
3. Menggunakan <FlowModelRenderer /> untuk Render
Langkah Kedua: Menambahkan PropsFlow agar Properti Tombol Dapat Dikonfigurasi
💡 Mengapa Menggunakan PropsFlow?
Menggunakan Flow alih-alih props statis memungkinkan properti untuk:
- Konfigurasi dinamis
- Pengeditan visual
- Replay state dan persistensi
🛠 Poin Modifikasi Kunci
1. Mendefinisikan Flow untuk Properti Tombol
2. Menggunakan stepParams Sebagai Pengganti props Statis
✅ Menggunakan
stepParamsadalah cara yang direkomendasikan FlowEngine, untuk menghindari masalah data yang tidak dapat di-serialize (seperti komponen React).
3. Mengaktifkan Antarmuka Konfigurasi Properti
Langkah Ketiga: Mendukung Event Flow Tombol (EventFlow)
🎯 Skenario: Menampilkan Kotak Konfirmasi Setelah Tombol Diklik
1. Mendengarkan Event onClick
Menggunakan cara non-intrusif untuk menambahkan onClick
2. Mendefinisikan Event Flow
Catatan tambahan:
- Event Flow (EventFlow) memungkinkan perilaku tombol dikonfigurasi secara fleksibel melalui flow, seperti popup, pesan, panggilan API, dan sebagainya.
- Anda dapat mendaftarkan event flow yang berbeda untuk event yang berbeda (seperti
onClick,onMouseEnter, dan lain-lain) untuk memenuhi kebutuhan bisnis yang kompleks.
3. Mengkonfigurasi Parameter Event Flow
Saat membuat model, Anda dapat mengkonfigurasi parameter default event flow melalui stepParams:
Diagram Perbandingan Model: ReactComponent vs FlowModel
Flow tidak mengubah cara implementasi komponen. Ini hanya menambahkan dukungan untuk PropsFlow dan EventFlow ke ReactComponent, sehingga properti dan event komponen dapat dikonfigurasi dan diorkestrasi secara visual.

ReactComponent
FlowModel
Ringkasan
Melalui tiga langkah di atas, kita telah membangun komponen tombol yang mendukung konfigurasi dan orkestrasi event, dengan keunggulan berikut:
- 🚀 Konfigurasi properti secara visual (seperti judul, tipe, ikon)
- 🔄 Respons event dapat diambil alih oleh flow (seperti popup saat diklik)
- 🔧 Mendukung ekspansi lanjutan (seperti logika kondisional, binding variabel, dan sebagainya)
Pola ini juga berlaku untuk komponen UI apa pun seperti form, list, chart, dan sebagainya. Pada FlowEngine NocoBase, segalanya dapat diorkestrasi.

