2

私のサーバーは次のネストされたjsonを返します。フルネームを表示したいのですが、テキストはリストの各行に表示されます。お気に入り、

アップルメッセージ2

アップルメッセージ1

これの代わりに、次のようにすべてのデータを含む1つの行を取得しました。

アップルメッセージ2メッセージ1

jsonが次のようになっている場合:

"packet": {
        "fullname": "apple",
        "wants": {
            "text": "Message 2",
        }
    }

モデルのフィールドについて言及できます。

fields: [{
    name: 'fullname',
    type: 'string'
}, {
    name: 'text',
    mapping: 'wants.text'
}]

しかし、私はの配列を持っています、マッピングを介して配列wantsにアクセスする方法は?wants

json文字列:

"packet": {
    "fullname": "apple",
    "wants": [{
        "text": "Message 2",

    }, {
        "text": "Message 1",
    }]
}

モデル:

Ext.define('myApp.model.Packet', {
    extend: 'Ext.data.Model',
    config: {
        fields: [{
                name: 'fullname',
                type: 'string'
            }, {
                name: 'text',
                mapping: 'wants[0].text'
            } //Is this right? If right mean how to get next wants.how to iterate?
        ]
    }
});

店:

Ext.define('myApp.store.WantsStore', {
    extend: 'Ext.data.Store',
    config: {
        model: 'myApp.model.Packet',
        proxy: {
            type: 'ajax',
            url: 'server path',
            reader: {
                type: 'json',
                rootProperty: 'packet'
            }
        }
    }
});

リスト:

Ext.define('myappApp.view.WantsList', {
    extend: 'Ext.List',
    xtype: 'wantslist',
    config: {
        itemCls: 'my-dataview-item',
        loadingText: 'Loading items...',
        emptyText: '<div class="notes-list-empty-text">No Wants found.</div>',
        itemTpl: '<div><p class="list-item-title">{fullname} <span id="time" class="list-item-title">{text}</span></p>'
    }
});

前もって感謝します!

4

0 に答える 0