2017-05-24 5 views
0

J'ai un champ de texte et un champ d'affichage. Je veux que la valeur utilisateur du champ de texte s'affiche dans le champ d'affichage. comment je fais ça?Afficher la valeur du champ de texte dans le champ d'affichage

Mon code est le suivant:

{ 
    xtype: 'textfield', 
    fieldLabel: 'Textfield', 
    allowblank: false    
}, { 
    xtype: 'displayfield', 
    fieldLabel: 'Textfield Value', 
    value: 'textfieldValue' 
} 
+1

U besoin d'un écouteur dans le champ de texte. son très simple –

+0

@ Sandy.Arv pourriez-vous s'il vous plaît expliquez-moi comment? je suis nouveau à extjs et à la programmation .. votre aide serait apréciée –

+2

N'avez-vous pas un viewmodel? Pas besoin d'un auditeur. Lier directement la même valeur aux deux. –

Répondre

4

La plus rapide mise en œuvre serait un auditeur sur le champ de texte:

listeners: { 
    change: function(field, newValue) { 
     field.nextSibling().setValue(newValue) 
    } 
} 

Ou vous utilisez un viewmodel sur le conteneur parent et lier la valeur, cette améliore la réutilisabilité:

xtype:'panel', 
viewModel:{ 
}, 
items:[{ 
    xtype: 'textfield', 
    fieldLabel: 'Textfield', 
    allowBlank: false, 
    bind: { 
     value: '{value}' 
    } 
},{ 
    xtype: 'displayfield', 
    fieldLabel: 'Textfield Value', 
    bind: { 
     value: '{value}' 
    } 
}] 

Un violon avec les deux implémentations: https://fiddle.sencha.com/#view/editor&fiddle/206o