Skip to main content

1. Apa itu subformulir

Komponen kontainer tingkat lanjut yang memungkinkan Anda menambahkan komponen Teks, Numerik, Tanggal, dan lainnya di dalamnya. Contohnya, gunakan komponen ini ketika Anda perlu menambahkan beberapa entri produk selama proses entri data produk.

2. Kasus penggunaan

Subformulir umumnya digunakan untuk entri data, seperti pesanan keluar, pesanan masuk, dan pesanan penjualan. Rincian produk dalam skenario ini dapat dicatat dalam subformulir, dan Anda dapat menambahkan baris sesuai kebutuhan berdasarkan data aktual yang akan dimasukkan.
Untuk atribut komponen, penggunaan, dan contoh, klik di sini.

3. Fitur dasar

3.1 Mode tata letak

Tetapkan tata letak subformulir. Mode spreadsheet digunakan secara default.

3.1.1 Mode spreadsheet

Spreadsheet Tampilan efek: Catatan: Tampilan subjek dan header hanya tersedia di PC ketika mode tata letak adalah Spreadsheet.

3.1.2 Mode ubin

Ubin Efek:

3.2 Tetapkan nama tombol Tambah

Nama tombol Tambah secara default adalah “Tambah satu”. Anda dapat mengkustomisasi namanya. Contoh: Tetapkan nama tombol Tambah

3.3 Tetapkan nama tombol Hapus

Tetapkan nama tombol Hapus

3.4 Jumlah maksimum rekaman yang dapat ditambahkan

Jumlah maksimum rekaman subformulir

3.5 Lebar kolom subformulir

Lebar kolom dapat dikustomisasi, sehingga konten yang panjang pun ditampilkan dengan baik. Kustomisasi lebar kolom subformulir

3.6 Impor massal

Jalur: Ketika Anda membuka formulir, Anda akan melihat tombol Impor massal di bawah subformulir. Klik Impor massal untuk melanjutkan. (Jika formulir memiliki akses publik (Login senyap) yang diaktifkan, subformulir di dalam formulir tidak mendukung impor massal.) Urutan bidang dalam templat impor massal subformulir sesuai dengan urutan bidang dalam desain formulir. Halaman akses
  • Entri data subformulir yang efisien: Mendukung impor massal melalui Excel.
Halaman impor massal Setelah impor berhasil:

3.7 Ekspor massal

  • Ekspor cepat data subformulir:
Ekspor massal Ekspor massal sedang berlangsung Ekspor massal berhasil

3.8 Mendukung ekspor konten formulir utama + subformulir bersama-sama ke Excel

  • Mendukung ekspor data formulir utama dan data subformulir secara bersamaan.
  • Kemampuan ekspor baru:
Halaman formulir Halaman rekaman sumber Halaman spreadsheet Excel

4. Fitur lanjutan

4.1 Kolom tindakan

4.1.1 Buat kolom tindakan

Setelah Anda membuat kolom tindakan, klik Edit untuk mengikat tindakan. Kolom tindakan Efek:

4.1.2 Fungsi callback

Lihat Pengaturan tindakan. Tindakan - Item-0 Fungsi callback Panel JS

4.1.3 Rendering kustom

JSX didukung. Rendering kustom - ikat tindakan Efek:

5. FAQ

Komponen subformulir harus menyimpan minimal satu rekaman.
Anda perlu mengkonfigurasi tindakan Hapus, seperti ditunjukkan di bawah ini:Catatan: Secara default, tindakan ini menghapus semua rekaman. Penghapusan massal berdasarkan pilihan belum didukung.
Ini digunakan ketika Anda ingin mendapatkan data subformulir untuk validasi formulir atau sebagai parameter input untuk pemanggilan sumber data.Kode contoh:
Umumnya digunakan untuk asosiasi data subformulir lintas aplikasi dan inisialisasi data subformulir saat formulir dimuat.Referensi: Asosiasi rincian-ke-rincian
Karena data subformulir tidak dapat ditampilkan atau dianalisis pada halaman manajemen data dan tidak dapat diekspor, Anda perlu menampilkan dan mengekspor data subformulir dalam spreadsheet pada halaman laporan.Referensi: Analisis laporan pada data subformulir
Anda dapat mencapainya dengan menambahkan kode berikut di Rendering kustom:
Ini adalah fitur tersembunyi. Buka halaman edit formulir dan aktifkan “Tampilkan pengurutan” untuk subformulir. Tombol pindah ke atas/bawah kemudian akan muncul, seperti ditunjukkan di bawah ini:
Konfigurasikan fungsi validasi kustom pada komponen di dalam subformulir, iterasikan semua rekaman dalam subformulir, dan bandingkan dengan rekaman saat ini.
(1) Gunakan satu komponen subformulir dan satu komponen Numerik, lalu tetapkan nilai Default komponen Numerik menjadi 1, seperti ditunjukkan:(2) Klik Subformulir > Premium > Buat tindakan. Anda perlu membuat dua tindakan: satu untuk onAddClick dan satu untuk onDelClick. Tulis kode saat membuat tindakan, seperti ditunjukkan:Kode berikut dapat digunakan secara langsung. Catatan: Masukkan identifier unik komponen Numerik pada tanda kurung pertama, dan identifier unik subformulir pada tanda kurung kedua. Lihat langkah (3) untuk pengaturannya.
(3) Pertama, buat tindakan onAddClick, seperti ditunjukkan:Kemudian tempel kode di atas:(4) Buat tindakan onDelClick dan tempel kode yang sama:Kemudian tempel kode di atas:Setelah mengklik Simpan, hasilnya adalah:Ketika Anda menghapus rekaman yang baru ditambahkan, jumlahnya akan berkurang secara otomatis:
(1) Seret masuk komponen Numerik dan ikat tindakan “onChange” ke komponen Numerik.(2) Salin kode berikut ke dalam panel JS:
(3) Hasil:

5.10 Komponen tersembunyi dalam subformulir mengembalikan null

Ketika memproses subformulir, value dari atribut tersembunyi akan direset. Nilainya dikonfigurasi sebagai null, sehingga menetapkan subformulir dalam kondisi tersembunyi ke subformulir lain akan mengembalikan null.
Untuk mengontrol status komponen subformulir berdasarkan nilai bidang formulir utama, ikuti langkah-langkah berikut:Buat variabel dp2Ikat status bidang Teks satu baris di subformulir ke variabel state.dp2Ikat tindakan pada dropdown Pilih di formulir utama untuk menetapkan status ke variabel dp2Kode contoh:
Ikat tindakan pada komponen anggota formulir utama untuk melakukan penetapan nilai, seperti ditunjukkan di bawah ini:Kode contoh:
Anda tidak dapat menyisipkan komponen subformulir di dalam subformulir, tetapi Anda dapat menambahkan komponen reguler lainnya. Paket Luang mendukung hingga 20; edisi lainnya mendukung hingga 100. Melebihi batas ini akan menurunkan performa pemuatan. Kami merekomendasikan untuk memecah logika bisnis.

5.11 Bagaimana cara mendapatkan data subformulir

Anda dapat menggunakan API komponen umum getValue untuk mendapatkan data subformulir. Kode contoh:
Contoh respons:

5.12 Bagaimana cara mendapatkan identifier baris subformulir

Anda dapat menggunakan API subformulir getItems untuk mendapatkan identifier baris subformulir. Kode contoh:
Contoh respons:

5.13 Bagaimana cara mendapatkan data baris tertentu dalam subformulir

Anda dapat menggunakan API subformulir getItemValue untuk mendapatkan data baris tertentu dalam subformulir. Kode contoh:
Contoh respons:

5.14 Bagaimana cara mendapatkan bidang yang saat ini berubah ketika onChange subformulir terpicu

Ketika data subformulir berubah, peristiwa onChange subformulir tidak hanya terpicu oleh perubahan sel, tetapi juga oleh perhitungan formula, keterkaitan data, atau penetapan nilai eksternal. Untuk membantu mengidentifikasi perubahan, Anda dapat menggunakan parameter extra dari peristiwa onChange subformulir untuk mendapatkan bidang yang saat ini berubah, dan parameter changes untuk mendapatkan nilai bidang yang berubah. Kode contoh:
Hasil:

5.15 Bagaimana cara memperbarui bidang lain di baris saat ini ketika komponen di dalam subformulir berubah

Anda dapat menggunakan API subformulir updateItemValue untuk memperbarui bidang lain di baris saat ini dari subformulir.
Catatan: API ini hanya dapat digunakan dalam peristiwa komponen subformulir, bukan dalam peristiwa komponen di dalam subformulir.
Kode contoh:
Hasil: Setelah memasukkan nama item, nilai Nama item akan ditetapkan ke Salinan nama item di baris saat ini.