1

現在、複数のオブジェクトを使用して、extjs フォームの一部にsetValues(). 元:

someForm.getForm().setValues({prop1: foo}); 

object1.prop1フォームの要素に名前を付ける方法はありますかobject2.prop2? シングルができるようにsomeForm.getForm().setValues({object1: object1, object2: object2, ...})?つまり、埋め込まれたオブジェクトは解析されます。

POSTさらに、 to map ( object1.prop1, object1.prop2, ...) -->の前にアップロードを傍受する方法はありobject1: {prop1: *, prop2: *, ...}ますか?

これにより、マッピングなどを行うよりもはるかに簡単になりますobject1.prop1--> object1_prop1->object1.prop1

あなたが提供できる助けをありがとう

4

1 に答える 1

0

はい、できますが、質問で指定した方法とは異なります。2 つのシナリオがあります。

1)フォーム(変更を想定)があり、データを取得するためにサーバーにリクエストを行います。できることは、フォーム フィールドに割り当てられた名前を持つモデルを作成することです。そして、サーバーからの値を使用してフォームにモデルを割り当てます。以下を参照してください。

// define StudentModel with fields firstName, lastName, address, and so on....
// form with fields, please have field attribute 'name' with values defined in model
// e.g. {xtype : 'textfield', name: 'firstName'}, {xtype : 'textfield', name: 'lastName'}, and so on
var form = this.getForm();
form.reader = Ext.create('Ext.data.reader.Json',{ // Use XML reader if you are using XML response.
    success: '@success',
    model: 'StudentModel'
});

form.load({ // load method will load data automatically from server to form fields
    url: '/getStudentData',
    params:{        
        studentId: 24
    }
});

2) 他のシナリオでは、ローカルで利用可能なデータがあり (配列または変数であると仮定)、そのデータをフォームに割り当て、以下のように StudentModel でレコードを作成し、レコードをフォームに割り当てます。

var record = Ext.create('StudentModel', {
    firstName: 'Nandkumar',
    lastName: 'Tekale',
    address: 'RH 26, some street, city'
});

form.loadRecord(record); // You are done, all values to form are assigned.
于 2013-09-06T06:15:59.600 に答える