choice
Kullanıcının dokunarak yanıtladığı bir soru: tek bir seçim veya birden fazla.
Sayfada dokunarak yanıtlanan bir soru. choice, Rendel'in iyi bir yanıt verebilmek için ihtiyaç duyduğu tek şeyi nasıl sorduğunu ve birinin aynı anda birden fazla şeyi seçmesine nasıl izin verdiğini belirler: birkaç çip arasından tek bir seçim (“Çoğunlukla nerede koşuyorsunuz?”) veya satırlarında bir alt başlık ile görsel taşıyabilen bir listeden bir ya da birden fazla seçim (“Hangi ürünleri iade ediyorsunuz?”).
Seçim bir cümle olarak değil, id ile geri döner ve sunucu bunu çizdiği bloğa göre kontrol eder: bloğun sunmadığı bir id, izin verdiğinden daha fazla seçim veya zaten yanıtlanmış bir blok reddedilir. Yanıtlandıktan sonra blok, soruya ve seçilenlere katlanır.
Ekran görüntüsü değildir; tarayıcınızda SDK'nın kendi boyut ve renkleriyle canlı olarak çizilir.
Flutter SDK ile 0.39.0 ve Web SDK ile 0.16.0 sürümünden itibaren yerel olarak render edilir. Bunu bildirmeyen bir derlemeye asla sunulmaz.
Biçimler
single,chipsveya birlistolarak: dokunmak yanıttır.multi, birlistolarak: satırlar işaretlenir veya işaretleri kaldırılır ve listenin altındaki buton,min_selected(varsayılan olarak 1) ilemax_selected(varsayılan olarak tümü) arasında bunları gönderir.other, kullanıcının kendi yanıtını yazabileceği son bir satır ekler.skip, seçim yapmadan yanıtlama yolu ekler (“Tercih yok”).
Ne zaman kullanılmamalı
Bir ödeme yöntemi veya bir onayın taşıması gereken başka herhangi bir şey için kullanılmaz. Rendel'in kendisinin bakabileceği bir şey için kullanılmaz. Her defasında tek bir soru: ikincisi bir sonraki sayfada gelir.
Props
Her blok ayrıca type ve 1 ila 300 karakterden oluşan zorunlu bir fallback_text taşır.
| Prop | Tür | Zorunlu | Kısıtlamalar |
|---|---|---|---|
question | string | Evet | 1 ila 120 karakter. |
hint | string | Hayır | En fazla 160 karakter. |
mode | single | multi | Evet | Yok |
style | chips | list | Hayır | Yok |
options | array | Evet | 2 ila 12 öğe. |
options[].id | string | Evet | 1 ila 64 karakter. |
options[].label | string | Evet | 1 ila 40 karakter. |
options[].subtitle | string | Hayır | En fazla 80 karakter. |
options[].icon | string | Hayır | En fazla 40 karakter. |
options[].image_url | string | Hayır | Yok |
min_selected | integer | Hayır | 1 ila 12. |
max_selected | integer | Hayır | 1 ila 12. |
other | object | Hayır | Yok |
other.label | string | Evet | 1 ila 40 karakter. |
other.placeholder | string | Hayır | En fazla 80 karakter. |
skip | object | Hayır | Yok |
skip.label | string | Evet | 1 ila 24 karakter. |
submit_label | string | Hayır | 1 ila 24 karakter. |
Ağ üzerinde
{
"id": "blk_61",
"type": "choice",
"fallback_text": "Which items are you returning: Aero Glide 2, Court Low or the socks?",
"props": {
"question": "Which items are you returning?",
"hint": "Order #4821 · delivered 7 Oct",
"mode": "multi",
"style": "list",
"options": [
{ "id": "glide43", "label": "Aero Glide 2", "subtitle": "43 · Volt", "image_url": "https://…" },
{ "id": "court42", "label": "Court Low", "subtitle": "42 · Bone" },
{ "id": "socks", "label": "Running socks, 3 pairs" }
],
"submit_label": "Return"
}
}Seçim modele Selected on blk_61: Aero Glide 2 (glide43), Court Low (court42) olarak ulaşır.
Ağ üzerinde dokunma bir selection olur: { "block_id": "blk_61", "ids": ["glide43", "court42"] }. other satırına yazılan bir yanıt, other_text ile birlikte ids: [] olarak gider ve Selected on blk_61: wrote "…" olarak okunur. Bir atlama ids: [] olarak gider ve Selected on blk_61: skipped olarak okunur.
Erişilebilirlik
Tekli seçim bir radyo grubu, çoklu seçim ise bir onay kutusu grubudur; her ikisi de soruyla adlandırılır. Kaç tanesinin seçildiği değiştikçe duyurulur.