web-dev-qa-db-fra.com

comment définir la valeur du champ de texte extjs?

j'ai beaucoup de champs de texte pour les données utilisateur. et je souhaite le définir à partir de DB.

items: [{
                        xtype: "form",
                        bodyPadding: 5,
                        border: false,
                        defaults: {
                            xtype: "textfield",
                            inputType: "text",
                            anchor: "100%"
                        },
                        items: [{
                            fieldLabel: 'Username:',
                            readOnly: true,
                            value: 'Admin',
                            name: "username"
                        }, {

j'ai une classe externe nommée openDB.js avec la méthode getUserByUsername() voici un petit code comment son sera utilisé dans une autre vue et cela fonctionne, mais dans ma vue actuelle, je ne peux pas définir la valeur du champ de texte. s'il vous plaît aider comment faire cela?

 openDB.getUserByUsername(user.username).then(function(userDetails) {
            me.setTitle("Welcome " + userDetails.mail + "!");
        });

je veux faire quelque chose comme ça avec value: 'Admin' et ainsi de suite ...

j'ai trouvé une méthode sur Sencha Forum, mais puis-je l'utiliser ??

setValue: function(value) {
        var me = this;
        me.setRawValue(me.valueToRaw(value));
        return me.mixins.field.setValue.call(me, value);
    },
11
r.r

après quelques heures de combat avec ça -> MEILLEURE SOLUTION JAMAIS:

items: [{
                        fieldLabel: 'Username:',
                        id: 'usernameID',
                        readOnly: true,
                        value: user.username,
                        name: "username"
}]
... 
var name = Ext.getCmp('usernameID').setValue('JohnRambo');
33
r.r

Pourquoi ne pas simplement configurer un modèle et le stocker pour votre formulaire et utiliser la méthode loadRecord?

1
bakamike