0

我有一个这样的模型:

Ext.define('Policy', {
    extend: 'Ext.data.Model',

    fields: [
        {
            name: 'id',
            type: 'sting',
            phantom: true,
            convert: function(value, record) {
                return record.get('a') + '@' +
                    record.get('b');
            }
        },
        {name: 'a', type: 'string'},
        {name: 'b', type: 'string'}]
});

其中每条记录的 PK 为ab。商店长这样:

Ext.define('Store', {
    extend: 'Ext.data.Store',
    model: 'Policy', 
    autoLoad: true,

    proxy: {
        type: 'rest',
        simpleSortMode: true,
        batchActions: true,
        reader: {
            type: 'json',
            root: 'data',
            idProperty: 'id'
        },
        writer: {
            nameProperty: 'mapping'
        },
        api: {
            create:'/batch',
            read: '/policies',
            update: '/batch',
            destroy: '/batch'
        }
    }
});

如何配置存储,以便在调用时发布到 /batch 时store.sync(),有效负载看起来像这样,并且仅包含脏记录

{
    "policies": [{
        "a": "AA",
        "b": "BB",
    }, {
        "a": "AAA",
        "b": "BBB"
    },...]
}

哪里有一个policies财产,在它下面是一系列肮脏的政策。

4

1 回答 1

0

您可以通过手动Ext.Ajax()调用来创建您想要的任何结构。您必须自己只提交脏记录。

于 2013-06-28T13:08:11.240 回答