2016-04-13 17 views
0

Yeni başlayan biriyim ve ExtJS6 kullanarak giriş sayfasını oluşturmaya çalışıyorum. Bunu yapmanın en kolay yolu, 2 text fields (kullanıcı adı ve parola) ve button gibi öğeler içeren panel oluşturmaktır, ancak e-posta ve parola metin alanı yeniden kaydolduğundan bu nedenle yeniden kullanmak istiyorum kod çoğaltma. Her iki yerde de aynı doğrulama kurallarına sahip olacağımızdan, e-posta ve şifre için aynı başlıklara sahip olmak zorundayız.ExtJS6'da E-posta Alanı Bileşeni Oluşturma

Ben TextField sınıf ve kullanım özellikleri ile uzatılabilir gidiyor bir e-posta metin alanı bileşeni sınıf ve şifre metin alanı sınıf oluşturarak düşünüyorum

bu özel tanımlamak sınıflarında ve benim giriş formu/Kayıt formunda gibi vtype, name Bu özel alanları kullanıyorum, böylece kod çoğaltmasını önleyebileceğim.

Diğer üyelerin bu konuda yorum yapmasını ve bunun doğru çözüm olup olmadığını ve eğer evetse nasıl yapacağımı söyleyeceğim.

Selamlar

cevap

4

Extjs 6 zaten email ve password texfield sağlar. Daha fazla doğrulama uygulamak için yapılandırma özelliklerini kullanabilirsiniz.

Ext.define('App.view.LoginPanel', { 
    extend: 'Ext.form.Panel', 
    fullscreen: true, 
    items: [ 
     { 
      xtype: 'fieldset', 
      title: 'Register', 
      items: [ 
       { 
        xtype: 'emailfield', 
        label: 'Email', 
        name: 'email' 
       }, 
       { 
        xtype: 'passwordfield', 
        label: 'Password', 
        name: 'password' 
       } 
      ] 
     } 
    ] 
}); 

ve istediğiniz her zamankinden bunun birden çok örneğini kullanın:

Böyle kendi form paneli oluşturabilir.

+0

Oturum açma işlemini bir bileşen olarak yaparsak, yeniden kullanılabilirlik döngüsünü küçülteceğiz ve kod çoğaltmasını artıracağız. Bu bileşen bir bütün olarak projede tekrar kullanılmayacağından, üniteler gibi oluşturup e-posta yapmamız gerektiğinden bileşen olarak textbox ve bileşen sınıfında ad, doğrulama özelliklerini ayarlayın ve onu kullanın, sonra yeniden kullanılabilirliği geliştiririz ve çoğalmayı da önleyebiliriz. – mubeen

+0

Benim gibi özel bir bileşen tanımlamak benim için çok anlamlı değil: 'passwordfield' uzandığını ve adını ayarladığınızı varsayalım. Şimdi yeniden kullanmanız gerektiğinde, {xtype: 'custom'} yazacaksınız. {xtype: 'paswordfield' yerine, name: 'password'}. Ext standart bileşenini kullanmak kendi içinde yeniden kullanılabilirliktir. Ancak size ve gereksinimlerinize göre tercih etmeniz gerekenler. –