> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pilih

> Panduan lengkap komponen Pilih di YiDA — atur tata letak, opsi kustom, keterkaitan data, warna, dan edit massal untuk membangun formulir low-code yang fleksibel.

Komponen Pilih memungkinkan pengguna memilih satu opsi dari sekumpulan pilihan terkait yang terbatas, misalnya jenis kelamin atau tipe aktivitas.

<Warning>
  Panjang maksimum nilai opsi pada komponen Pilih adalah 255 karakter.
</Warning>

## Tata letak

Opsi dapat disusun secara horizontal atau vertikal:

## Opsi kustom

Nilai tampilan dan nilai opsi dapat berbeda. Sesuaikan keduanya secara terpisah.

* Nilai tampilan: teks yang terlihat oleh pengguna pada halaman formulir.
* Nilai opsi: nilai yang digunakan untuk mencocokkan Kondisi keterkaitan data. Secara default nilainya sama dengan nilai tampilan, tetapi dapat diatur terpisah.

## Pengaturan opsi terkait - visibilitas bidang

Gunakan opsi terkait jika Anda ingin menampilkan konten sesuai opsi yang dipilih. Fitur ini berguna untuk skenario seperti manajemen kontrak, permintaan barang, dan pengadaan.

## Dukungan Hapus Pilihan

Aktifkan fitur Hapus Pilihan agar pengguna dapat mengklik ulang opsi yang telah dipilih untuk membatalkan pilihannya.

Video berikut menunjukkan perbedaan antara status Aktif dan Nonaktif:

## Tipe opsi

Komponen Pilih mendukung 4 tipe opsi:

* Kustom: tentukan konten opsi sesuai kebutuhan Anda.
* Menghubungkan data formulir lain: gunakan pengaturan Asosiasi untuk menarik data dari formulir yang terhubung sebagai data formulir saat ini.
* Keterkaitan data: saat data suatu bidang berubah dalam formulir, data bidang lain ikut berubah. Umumnya digunakan untuk mengatur nilai Default sebuah Komponen.
* Data gateway: endpoint API harus dapat diakses secara publik, dan format Respons harus `[{"text":"111","value":"111"}]`.

## Warna

Komponen Pilih, Pilih Banyak, dropdown Pilih, dan dropdown Pilih Banyak semuanya mendukung tombol berwarna. Saat diaktifkan, setiap opsi tampil dengan warna berbeda, dan warna dapat dikustomisasi.

## Tambah "Lainnya"

Jika opsi tidak pasti, aktifkan fitur "Tambah Lainnya". Pengguna kemudian dapat memilih "Lainnya" dan mengetik konten sendiri jika tidak ada opsi yang cocok.

## Edit massal

Saat memelihara opsi Kustom untuk komponen Pilih, Pilih Banyak, dropdown Pilih, dan dropdown Pilih Banyak, gunakan fitur edit massal untuk melakukan perubahan.

| **Entri fitur** | **Antarmuka edit** |
| --------------- | ------------------ |
|                 |                    |

* Edit hanya nilai tampilan: karena opsi YiDA mendukung pemisahan antara nilai opsi Kustom dan nilai tampilan, edit massal mendukung berbagai Format untuk memenuhi kebutuhan yang berbeda. Pilih Format yang sesuai dengan kasus penggunaan Anda.

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
Opsi 1
Opsi 2
Opsi 3
```

* Edit nilai tampilan dan nilai opsi secara bersamaan: nilai tampilan dan nilai opsi untuk setiap opsi sama.

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
Opsi 1 | A
Opsi 2 | B
Opsi 3 | C
```

* Label ter-internasionalisasi: dalam kasus ini A, B, dan C adalah nilai opsi untuk setiap entri.

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
i18n-xxx | A
i18n-xxx | B
i18n-xxx | C
```

Karena label ter-internasionalisasi memerlukan pemeliharaan terpusat, edit massal tidak didukung untuk tipe nilai tampilan ini demi menghindari Format edit yang terlalu kompleks.

<Note>
  Pemisahnya adalah karakter pipa `|` yang diketik dalam mode input bahasa Inggris.
</Note>

## FAQ

Q: Dalam komponen Pilih dengan beberapa opsi, saat pengguna memilih "Lainnya" mereka harus dapat mengetik konten — semuanya dalam satu Komponen (tanpa menggunakan opsi terkait, karena itu akan memerlukan penyiapan Komponen tambahan). Apakah ini dapat dilakukan dengan kode? Atau adakah Komponen lain yang dapat menangani skenario ini?

A: Ya, ini dapat dilakukan dengan kode. Ikat Peristiwa onChange untuk mengontrol status Komponen input teks secara dinamis.

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
export function onChange({ value }) {
  if (value == "其他") {  // Lainnya
    this.$('numberField_krbd7ly0').setBehavior('NORMAL') // pengenal unik Komponen untuk menampilkan/menyembunyikan
  } else {
    this.$('numberField_krbd7ly0').setBehavior('HIDDEN')
  }
}
```
