如何在Sencha Touch的picker中添加插入值?

时间:2012-03-23 14:31:46

标签: sencha-touch picker

我正在寻找一种方法来将一个“空”值插入一个从商店中检索数据的选择器。应在从商店返回的任何其他值之前添加该值。我试图像这样覆盖“getRange”方法:

Ext.define('UK.store.Locations', {
    extend: 'Ext.data.Store',

    requires: [
        'Ext.data.proxy.JsonP'
    ],

    config: {
        model: 'UK.model.Location',
        autoLoad: true,

        proxy: {
            type: 'jsonp',
            limitParam: false,
            startParam: false,
            url: 'http://my.url.com/locations.php',
            reader: {
                type: 'json',
                rootProperty: 'location'
            }
        }
    },

    getRange : function(startIndex, endIndex) {
        var records = this.callParent(startIndex, endIndex);
        var empty = Ext.create('UK.model.Location', 'All');
        records.unshift(empty);
        return records;
    }

});

但该值始终显示在选取器数据的末尾。有没有其他方法可以做到,可能是通过覆盖一些选择器方法?

1 个答案:

答案 0 :(得分:0)

使用数据存储的data配置,并向数组添加一个空的“”记录。因此,这些数据将已添加到商店,下一组将附加到它。

您还可以使用商店的setData()功能并添加一条额外的记录。然后加载商店而不是自动加载。