Metin giriş alanı, değeri olarak bir dize ve metni olarak da bir dize depolar. Değeri her zaman geçerli bir dizedir, metni ise düzenleyicide girilen herhangi bir dize olabilir.
Metin giriş alanı
Düzenleyicinin açık olduğu metin giriş alanı
Daraltılmış bloktaki metin giriş alanı
içerik üretimi
JSON
{
"type": "example_textinput",
"message0": "text input: %1",
"args0": [
{
"type": "field_input",
"name": "FIELDNAME",
"text": "default text",
"spellcheck": false
}
]
}
JavaScript
Blockly.Blocks['example_textinput'] = {
init: function() {
this.appendDummyInput()
.appendField("text input:")
.appendField(new Blockly.FieldTextInput('default text'),
'FIELDNAME');
}
};
Metin girişi kurucusu, isteğe bağlı bir değer ve isteğe bağlı bir doğrulayıcı alır. Değer bir dizeye dönüştürülmelidir. null
veya undefined
ise boş bir dize kullanılır.
JSON tanımı, spellcheck seçeneğini de ayarlamanıza olanak tanır.
Serileştirme ve XML
JSON
Metin giriş alanı için JSON şu şekilde görünür:
{
"fields": {
"FIELDNAME": "text"
}
}
Burada FIELDNAME
, bir metin giriş alanına atıfta bulunan bir dizedir ve değer, alana uygulanacak değerdir. Değer, kurucu değerle aynı kurallara uyar.
XML
Metin giriş alanı için XML şu şekilde görünür:
<field name="FIELDNAME">text</field>
Burada alanın name
özelliği, bir metin girişi alanına referans veren bir dize içerir ve iç metin, alana uygulanacak değerdir. İç metin değeri, kurucu değeriyle aynı kurallara uyar.
Özelleştirme
Yazım denetimi
Alanın giriş metnini yazım denetimine tabi tutup tutmayacağını ayarlamak için setSpellcheck işlevi kullanılabilir.
Yazım denetimi olan ve olmayan metin giriş alanları
Yazım denetimi varsayılan olarak açıktır.
Bu, bağımsız alanlar için geçerlidir. Tüm alanları değiştirmek istiyorsanız Blockly.FieldTextInput.prototype.spellcheck_
mülkünü değiştirin.
Metin girişi doğrulayıcısı oluşturma
Metin girişi alanının değeri bir dize olduğundan tüm doğrulayıcılar bir dize kabul etmeli ve bir dize, null
veya undefined
döndürmelidir.
Aşağıda, dizedeki tüm "a" karakterlerini kaldıran bir doğrulayıcı örneği verilmiştir:
function(newValue) {
return newValue.replace(/a/g, '');
}