Seçim İsteği
Yapılacaklar
- Özelleştirilmiş gösterge
- Özelleştirilmiş gösterge
- Seçimlerde tanımlanmış özelleştirilmiş gösterge
- Özelleştirilmiş semboller
- Seçim grupları
- Seçim grubu başlıkları
- Diğer istemlerle seçimleri doldurma
- Devre dışı seçimler
- Seçim rolleri
- Seçim ipuçları
- Zamanlayıcılar
- Asenkron seçimler
Seçenekler
Yapılacaklar
Kullanım örnekleri
Yapılacaklar
Sonucu Özelleştir
Varsayılan olarak, seçim istemi kullanıcı tarafından gönderilen seçimin name
özelliğini döner.
Farklı bir şey gerekiyorsa, döndürülen değeri istediğiniz şekilde formatlamak için seçeneklere (şu "soru" nesnesi) özel bir result
işlevi ekleyebilirsiniz.
const questions = [
{
type: 'select',
name: 'colors',
message: 'Favori renk?',
choices: [
{ name: 'red', message: 'kırmızı', value: '#ff0000' }, //<= seçim nesnesi
{ name: 'green', message: 'Yeşil', value: '#00ff00' }, //<= seçim nesnesi
{ name: 'blue', message: 'Mavi', value: '#0000ff' } //<= seçim nesnesi
],
result(value) {
return value; // varsayılan olarak, "value" seçim.name
}
}
];
Not:
multiple
true
olduğunda, döndürülen değer isimlerin bir dizisidir. Bunu aşağıda da ele alacağız.
Örnekler
sadece isim
Hiçbir şey yapma. Bu varsayılan davranıştır.
sadece değer
Seçilen seçimden yalnızca değeri almak istiyorsanız, aşağıdakileri yapabilirsiniz:
result() {
// "focused" çoklu seçim yokken seçilen seçimdir
return this.focused.value;
}
// { colors: '#ff0000' }
özellikler (isim ve değer)
Hem isim hem de değeri istiyorsanız, this.choices
üzerinde yineleyebilir ve bunu istediğiniz şekilde yapabilirsiniz veya .map
yöntemini kullanabilirsiniz:
result(name) {
// .map bir isimler dizisi bekler
return this.map([name]);
}
// { colors: { kırmızı: '#ff0000' } }
Seçim nesneleri
Ayrıca seçimler üzerinde yineleme yapabilir ve tüm seçimi veya istediğiniz herhangi bir özelliği döndürebilirsiniz:
result(value) {
// bu, tüm seçim nesnesini döndürür
return this.choices.find(choice => choice.name === value);
}
Çoklu Seçim
MultiSelect
istemi ile (veya Seçim isteminde options.multiple
doğru olduğunda) aşağıdakileri yapabilirsiniz:
result(names) {
return this.map(names);
}