Skip to main content
Dokumen ini memperkenalkan API yang dapat Anda panggil langsung dari panel JS atau dialog pengikatan variabel di platform YiDA, beserta cara penggunaannya. Setiap API disertai contoh yang menunjukkan penggunaan konkret. Pada setiap contoh, kami membungkus kode dalam struktur fungsi berikut untuk menyimulasikan skenario penggunaan panel aksi di dunia nyata (di lingkungan sebenarnya, Anda bebas menamai fungsi pembungkus sesuai kebutuhan).

Sebelum memulai

API berikut memerlukan pengetahuan dasar JavaScript. Anda harus terbiasa dengan tipe data umum, mendeklarasikan dan menggunakan variabel serta fungsi, dan memahami cara menghindari jebakan umum JavaScript. Perhatikan this.state, this.setState, dan this.$() yang sering muncul pada API di bawah ini. Ketika this muncul di tingkat teratas fungsi penangan peristiwa, ia menunjuk ke konteks eksekusi yang benar, sehingga Anda dapat membaca dan menulis ke Sumber Data serta membaca nilai dari bidang formulir lain tanpa masalah:
Namun, ketika this muncul di dalam fungsi bersarang, Anda perlu memastikan ia tetap menunjuk ke konteks yang benar:
Panduan Memulai JavaScript yang direkomendasikan:

API variabel global

Pola desain YiDA sebagian besar terinspirasi oleh React. YiDA menyediakan variabel global untuk manajemen state di tingkat halaman beserta API terkait untuk memicu render ulang halaman (lihat dokumentasi variabel global untuk detailnya).

this.state.xxx

Mengambil nilai variabel global (identik dengan API React). xxx biasanya adalah nama variabel dari Sumber Data di tingkat halaman. Contoh:

this.setState()

Menetapkan nilai variabel global dan memicu render ulang halaman (sebagian besar identik dengan API React). Catatan: Jangan memodifikasi variabel menggunakan this.state.a = b. Kompatibilitas tidak dijamin pada pembaruan berikutnya dan kode semacam itu dapat berhenti berfungsi. Contoh:

API data remote

YiDA mendukung konfigurasi Sumber Data remote dan menyediakan API untuk memicu panggilan Sumber Data remote dari JS (lihat dokumentasi remote API untuk detailnya).

this.dataSourceMap.xxx.load()

Memanggil remote API tertentu secara manual. xxx adalah nama Sumber Data yang dikonfigurasi di panel Sumber Data. Anda juga dapat meneruskan parameter permintaan; parameter yang diteruskan di sini digabungkan dengan parameter yang dikonfigurasi di Sumber Data sebelum permintaan dikirim. load mengembalikan sebuah Promise. Contoh:

this.reloadDataSource()

Muat ulang semua remote API yang opsi auto-load-nya diatur ke true. Metode ini juga mengembalikan sebuah Promise. Contoh:

API pemanggilan JS

YiDA menyediakan panel aksi untuk menulis kode JS. Fungsi di panel aksi dapat diikat ke variabel atau tindakan, dan juga dapat saling memanggil.

this.methodName()

YiDA menyediakan cara untuk memanggil fungsi JS lain di panel aksi. Panggil this.xxx(), dengan xxx adalah nama fungsi lain. Contoh:

API utilitas

YiDA menyediakan banyak fungsi utilitas bawaan untuk membantu Anda menerapkan fitur umum dengan lebih mudah.

this.utils.dialog()

Membuka dialog. Efeknya ditampilkan di bawah. Pengguna harus menutupnya secara manual. YiDA menggunakan komponen Fusion di baliknya, sehingga Anda dapat mengonfigurasi properti apa pun yang didukung komponen Dialog. Dokumentasi. Properti yang umum digunakan tercantum di bawah ini: Contoh:

this.utils.formatter()

Fungsi formatter umum untuk memformat tanggal, mata uang, nomor telepon, dan lainnya. Contoh:

this.utils.getDateTimeRange(when, type)

Mengambil stempel waktu awal dan akhir dari rentang tanggal saat ini atau yang ditentukan. when dan type keduanya opsional. Secara default mengembalikan awal dan akhir hari ini; Anda dapat menentukan tanggal dan tipe rentang. Contoh:

this.utils.getLocale()

Mengambil locale halaman saat ini. Contoh:

this.utils.getLoginUserId()

Mengambil ID pengguna yang sedang masuk. Contoh:

this.utils.getLoginUserName()

Mengambil nama pengguna yang sedang masuk. Contoh:

this.utils.isMobile()

Memeriksa apakah lingkungan saat ini adalah perangkat mobile. Contoh:

this.utils.isSubmissionPage()

Memeriksa apakah halaman saat ini adalah halaman pengiriman data. Contoh:

this.utils.isViewPage()

Memeriksa apakah halaman saat ini adalah halaman tampilan data. Contoh:

this.utils.loadScript()

Memuat skrip remote secara dinamis. Contoh:

this.utils.openPage()

Membuka halaman baru. Di lingkungan DingTalk, API DingTalk digunakan untuk membuka halaman baru demi pengalaman yang lebih mulus. Contoh:

this.utils.previewImage()

Pratinjau Gambar. API ini menyediakan pengalaman pratinjau Gambar yang ringan, seperti ditampilkan di bawah: Contoh:

this.utils.toast()

Menampilkan pesan ringan. Dibandingkan dengan Dialog, toast lebih ringan dan menghilang secara otomatis setelah jeda singkat, seperti ditampilkan di bawah: Parameter: Contoh:

API routing

YiDA menyediakan API untuk mengambil informasi routing dan menavigasi antar halaman. API ini dibangun di atas react-router, sehingga API navigasi sebagian besar konsisten dengan API react-router. YiDA juga menawarkan beberapa ekstensi routing tambahan.

this.utils.router.push()

Navigasikan ke halaman baru dan tambahkan entri ke tumpukan routing, sehingga pengguna dapat kembali melalui tombol Kembali di browser. Parameter push dijelaskan di bawah ini:
Contoh:

this.utils.router.replace()

Mengganti halaman saat ini. Berbeda dari router.push, API ini mengganti halaman saat ini alih-alih menambahkan yang baru, sehingga tidak dapat dibalik dengan tombol Kembali di browser. Setara dengan:
Contoh:

this.utils.router.getQuery()

Mengambil parameter URL halaman saat ini. Ketika key diberikan, kembalikan nilai yang sesuai; jika tidak, kembalikan semua parameter URL. Parameter getQuery:
Contoh:

this.utils.router.stringifyQuery()

Menserialisasi parameter URL, mengonversi object menjadi string query URL. Contoh:

API komponen umum

Sebelum membahas API spesifik komponen, beberapa konsep perlu diperkenalkan terlebih dahulu:
  • Pengidentifikasi unik komponen (fieldId) — YiDA memberikan pengidentifikasi unik kepada setiap Komponen untuk membedakan instance Komponen. Pengidentifikasi tersebut dapat dilihat di panel properti Komponen.
  • Properti komponen (prop) — Di YiDA, setiap Komponen mengekspos properti untuk mengaktifkan perilaku yang berbeda (mirip dengan props React). Arahkan kursor pada kontrol di panel properti Komponen untuk melihat nama properti yang sesuai.
API komponen umum berlaku untuk setiap Komponen yang ditawarkan YiDA, dan terutama digunakan untuk membaca atau menetapkan properti Komponen.

this.$(fieldId).get(prop)

Cari Komponen berdasarkan fieldId dan baca salah satu nilai propertinya. fieldId adalah pengidentifikasi Komponen dan prop adalah nama properti Komponen. Catatan: Jangan membaca nilai properti menggunakan this.$(fieldId).xxx. Kompatibilitas tidak dijamin pada pembaruan berikutnya dan kode semacam itu dapat berhenti berfungsi. Contoh:

this.$(fieldId).set(prop, value)

Cari Komponen berdasarkan fieldId dan tetapkan salah satu nilai propertinya. fieldId adalah pengidentifikasi Komponen, prop adalah nama properti, dan value adalah nilai yang akan ditetapkan. Catatan: Jangan menetapkan nilai properti menggunakan this.$(fieldId).xxx = xxx. Kompatibilitas tidak dijamin pada pembaruan berikutnya dan kode semacam itu dapat berhenti berfungsi. Contoh:

API komponen formulir

Komponen formulir adalah tipe Komponen paling penting di platform YiDA. Biasanya digunakan untuk mengumpulkan Data — misalnya, kolom teks, pilihan tunggal, Pilih Banyak, dan dropdown. Bagian ini membahas API yang terkait dengan komponen formulir.

this.$(fieldId)

Mengambil instance Komponen, dengan fieldId sebagai pengidentifikasi unik komponen. Sebelum memanggil API Komponen, Anda biasanya perlu mengambil instance Komponen terlebih dahulu melalui this.$(fieldId). Catatan: Jangan mengakses API atau properti yang tidak terdokumentasi melalui this.$(fieldId).xxx. Apa pun yang tidak terdokumentasi adalah implementasi internal privat. Kompatibilitas tidak dijamin pada pembaruan berikutnya dan kode semacam itu dapat berhenti berfungsi.

this.$(fieldId).getValue()

Mengambil nilai input dari komponen formulir yang ditentukan. Contoh:

this.$(fieldId).setValue()

Menetapkan nilai input dari komponen formulir yang ditentukan. Parameter setValue:
Contoh:

this.$(fieldId).reset()

Mengatur ulang nilai input dari komponen formulir yang ditentukan. Parameter reset:
Contoh:

this.$(fieldId).getBehavior()

Mengambil state saat ini dari komponen formulir yang ditentukan. State yang mungkin meliputi:
  • NORMAL — state normal (dapat diedit).
  • READONLY — state Hanya Baca.
  • DISABLED — state Dinonaktifkan.
  • HIDDEN — state tersembunyi.
Contoh:

this.$(fieldId).setBehavior()

Menetapkan state dari komponen formulir yang ditentukan. State yang tersedia dijelaskan di bagian getBehavior. Contoh:

this.$(fieldId).resetBehavior()

Mengatur ulang state dari komponen formulir yang ditentukan. Contoh:

this.$(fieldId).validate()

Menjalankan validasi sekali pada komponen formulir yang ditentukan. Parameter validate:
Contoh:
Ketika aturan validasi kolom teks adalah Nomor Telепон dan validasi gagal, struktur berikut dicetak:

this.$(fieldId).disableValid()

Menonaktifkan validasi pada komponen formulir. Contoh:

this.$(fieldId).enableValid()

Mengaktifkan validasi pada komponen formulir. Parameter enableValid:
Contoh:

this.$(fieldId).setValidation()

Menetapkan aturan validasi pada komponen formulir. Parameter setValidation:
Tipe validasi yang didukung YiDA: Contoh:

this.$(fieldId).resetValidation()

Mengatur ulang aturan validasi pada komponen formulir. Gunakan setelah setValidation untuk memulihkan aturan sebelumnya. Parameter resetValidation:
Contoh:

API komponen Dialog

YiDA menyediakan komponen Dialog untuk menampilkan konten di jendela dialog, beserta API untuk mengontrol perilaku Dialog.

this.$(fieldId).show()

Menampilkan Dialog yang ditentukan. API ini menerima callback yang dipicu setelah Dialog ditampilkan. Contoh:

this.$(fieldId).hide()

Menutup Dialog yang ditentukan. Contoh: