Sebelum memulai
API berikut memerlukan pengetahuan dasarJavaScript. 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:
this muncul di dalam fungsi bersarang, Anda perlu memastikan ia tetap menunjuk ke konteks yang benar:
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 menggunakanthis.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. Panggilthis.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. Parameterpush dijelaskan di bawah ini:
Contoh:
this.utils.router.replace()
Mengganti halaman saat ini. Berbeda darirouter.push, API ini mengganti halaman saat ini alih-alih menambahkan yang baru, sehingga tidak dapat dibalik dengan tombol Kembali di browser. Setara dengan:
this.utils.router.getQuery()
Mengambil parameter URL halaman saat ini. Ketikakey 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.
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, denganfieldId 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. ParametersetValue:
this.$(fieldId).reset()
Mengatur ulang nilai input dari komponen formulir yang ditentukan. Parameterreset:
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.
this.$(fieldId).setBehavior()
Menetapkan state dari komponen formulir yang ditentukan. State yang tersedia dijelaskan di bagiangetBehavior.
Contoh:
this.$(fieldId).resetBehavior()
Mengatur ulang state dari komponen formulir yang ditentukan. Contoh:this.$(fieldId).validate()
Menjalankan validasi sekali pada komponen formulir yang ditentukan. Parametervalidate:
this.$(fieldId).disableValid()
Menonaktifkan validasi pada komponen formulir. Contoh:this.$(fieldId).enableValid()
Mengaktifkan validasi pada komponen formulir. ParameterenableValid:
this.$(fieldId).setValidation()
Menetapkan aturan validasi pada komponen formulir. ParametersetValidation:
Contoh:
this.$(fieldId).resetValidation()
Mengatur ulang aturan validasi pada komponen formulir. Gunakan setelahsetValidation untuk memulihkan aturan sebelumnya. Parameter resetValidation: