2011-07-22 3 views
1

J'ai un Map<String, String> que j'aimerais afficher à un utilisateur mais je ne veux pas qu'il soit en mesure de sélectionner le champ pour modifier sa valeur. J'ai utilisé un formulaire avec des champs de texte et la définition d'une propriété pour les désactiver. Ce n'est pas idéal car leur esthétique change. Est-ce que je le fais de la bonne façon et que j'ai simplement besoin d'appliquer un css ou est-ce une meilleure façon de le faire?Forme non modifiable dans le toucher sencha

Répondre

1

Vous pouvez créer un formulaire 'label' qui n'est pas modifiable mais qui ressemble au reste du formulaire. Peut-être besoin de quelques coups secs, mais cela devrait vous aider à démarrer:

Ext.form.LabelField = function(config){ 
    Ext.form.LabelField.superclass.constructor.call(this, config); 
}; 

Ext.extend(Ext.form.LabelField, Ext.form.Field, { 
    isField: true, 
    value: '', 
    renderSelectors: {fieldEl: '.x-form-labelfield'}, 
    renderTpl: [ 
     '<tpl if="label">', 
      '<div class="x-form-label"><span>{label}</span></div>', 
     '</tpl>', 
     '<div class="x-form-label x-form-labelfield" style="width:70%; text-align:right"><span>{value}</span></div>', 
    ], 
    setValue:function(val) { 
     this.value = val; 
     if(this.rendered){ 
     this.fieldEl.update('<span>' + val + '</span>'); 
     } 
    return this; 
    }, 

}); 

Ext.reg('labelfield', Ext.form.LabelField); 
0

J'ai eu le même besoin et voulait le terrain pour fonctionner similaire à la displayField ExtJS. J'ai fait cela dans Sencha Touch en créant le champ, en le désactivant, puis en rajoutant la classe de champs normale. L'éditeur est supprimé en utilisant disable: true, mais le champ n'est pas grisé et est toujours facile à lire.

{ 
    xtype: 'textfield', 
    disabled: true, 
    disabledCls: 'x-field', 
    label: 'Label', 
    name: 'name' 
} 

Cela pourrait devenir simple override si j'avais assez de ces champs et pris le temps de passer outre les autres types de terrain que je avais besoin.

Questions connexes