In der json-Daten, wie Sie erstellt ein Formular in sencha

Möchte ich Lesen, json-Daten aus Datei - Inhalt der json-Datei angezeigt, unten

    {
    "form": {
        "fields" : [
                {
                    "field":"textfield",
                    "name": "username",
                    "constrain": "5-10",
                    "value": ""
                },
                { 
                    "field":"textfield",
                    "name": "password",
                    "constrain": "5-10",
                    "value": ""
                },
                { 
                    "field":"datepickerfield",
                    "name": "Birthday",
                    "constrain": "5-10",
                    "value": "new Date()"
                },
                { 
                    "field":"selectfield",
                    "name": "Select one",
                     "options":[
                        {"text": "First Option",  "value": 'first'},
                        {"text": "Second Option", "value": 'second'},
                        {"text": "Third Option",  "value": 'third'}
                        ]
                },

            ]    
      }
}

Modell

    Ext.define('dynamicForm.model.Form', {
        extend: 'Ext.data.Model',
        config: {
            fields: [
                {name: 'field', type: 'string'},
                {name: 'name', type: 'string'},
                {name: 'constrain', type: 'string'},
                {name: 'value', type: 'string'}
             ],
             hasMany: {model: 'dynamicForm.model.SelectOption', name: 'options'}
        }
    });

Ext.define('dynamicForm.model.SelectOption', {
    extend: 'Ext.data.Model',
    config: {
        fields: [
            {name: 'text', type: 'string'},
            {name: 'value', type: 'string'}
         ]
    }
});

store

Ext.define('dynamicForm.store.FormStore', {
    extend : 'Ext.data.Store',
    storeId: 'formStore',
    config : {
        model : 'dynamicForm.model.Form',
        proxy : {
            type : 'ajax',
            url : 'form.json',

            reader : {
                type : 'json',
                rootProperty : 'form.fields'
            }
        },
        autoLoad: true
    }
});

Das, was ich versucht habe, so für.

    var fromval = Ext.create('dynamicForm.store.FormStore');
    fromval.load(function (){
        console.log(fromval);
              //i added register view which having form panel with id "testForm"
            Ext.Viewport.add({
                xtype : 'register'
            });
        for(i=0; i< fromval.getCount(); i++) {
            console.log("------");
            Ext.getCmp('testForm').add({
                    xtype: fromval.getAt(i).data.field,
                    label: fromval.getAt(i).data.name,
                    value: fromval.getAt(i).data.value,
                    options: [
                        {text: "First Option",  value: "first"},
                        {text: "Second Option", value: "second"},
                        {text: "Third Option",  value: "third"}
                    ]
            });
        }
    });

zwei text fileds und Datum woking gut, aber ich weiß nicht, wie man Optionen für das select-Feld aus Speicher, nur gehört, codiert jetzt.

über alle auf der Grundlage der oben genannten json-Daten, die ich brauche zu erstellen sencha Formular dynamisch.

  • whathaveyoutried.com ?
  • ich kann nicht finden, alle post mit meiner Frage in dieser website.
  • Nein, es gibt nichts in Bezug auf Ihre Frage. Aber haben Sie den Artikel gelesen ? Aus dem Artikel: "Wenn Sie Entwickler sind und Sie sind über Fragen, die ein anderer Entwickler eine technische Frage (über ein forum, per E-Mail, über einen chat-channel, oder in person), die Sie besser bereit sein, eine Antwort auf die Frage "Was haben Sie versucht?" [...] Das problem ist, dass diese person das problem lösen Technik zu Fragen, für die Lösung. Nicht um zu suchen Beratung, wie Sie die Aufgabe angehen, sondern nur nach dem code gefragt, vollständig ausgebildet und bereit zu gehen"
  • ich schaue nie für fertig-code in stack-überlauf, ich will einfach nur eine Idee und ich versuche
  • Ok, dann, haben Sie Zugriff auf das JSON ? Können Sie es ändern, bevor es gesendet/abgerufen ?
  • ich aktualisiert, was ich versucht habe

InformationsquelleAutor Viswa | 2013-03-06
Schreibe einen Kommentar