Mevcut bir alanı genişletmek için yerleşik bir alanın alt sınıfına girmeniz gerekir (ör.
FieldTextInput
, FieldColour
) sonra da dosyanın bir kısmını ihtiyaçlarınıza göre değiştirebilirsiniz.
Bir alanın değiştirebileceğiniz bazı bölümleri şunlardır:
- Bu düzenleyici.
- Bu engellenen ekran.
- İlgili içeriği oluşturmak için kullanılan metin gösterir.
Yeni bir web sitesi oluşturmak
özel alan
yerleşik bir alandan davranış gerektirmeyen Field
alt sınıfını kullanmanız gerekir.
Sık kullanılan uzantılar
Çoğu özel alan, aşağıdaki üç türden birine genişler:
- Metin Girişi: Kullanıcılarınızın alanınıza yazmasını istiyorsanız
FieldTextInput
. - Numara: Bir numarayı saklamak istiyorsanız
FieldNumber
değerini uzatmanız gerekir. - Açılır liste: Açılır liste oluşturmak, ancak farklı bir model depolamasını istiyorsanız
varsayılan dize veya resim modelinden daha fazlaysa
FieldDropdown
öğesini genişletmeniz gerekir.- Dikkat:
FieldDropdown
öğesini genişletmeden önce açılır menü alanının özelleştirme seçenekleri ihtiyaçlarınızı karşılayamaz.
- Dikkat:
Belirli koşullar altında farklı bir alan türünü genişletmek isteyebilirsiniz. Örneğin,
örnek FieldLabelSerializable
, FieldLabel
öğesini genişletir.
Alt Sınıflandırma
import * as Blockly from 'blockly';
export class MyCustomTextField extends Blockly.FieldTextInput {
constructor(value, validator, config) {
super(value, validator, config);
}
}
Bir alanın alt sınıfının oluşturucusu, kullanabilirsiniz. Alt oluşturucunun imzası süper oluşturucunun imzasıyla eşleşir.
JSON ve kayıt
Alanı bir kez kaydetmeniz de gerekir:
Blockly.fieldRegistry.register('my_custom_text_field', MyCustomTextField);
vefromJson
JSON biçimi:
static fromJson(options) {
const value = Blockly.utils.parsing.replaceMessageReferences(options.value);
return new MySubclassName(value);
}
Alan kaydetme hakkında daha fazla bilgi için JSON ve kayıt sayfasına bakın. bölümünü inceleyin.