如何删除商店extjs中的重复值

时间:2013-06-03 18:33:49

标签: javascript extjs

我想删除此商店中的重复值。

有时,url会返回一些重复值,如何删除重复值并只列出该值1次?

var input1store = new Ext.data.Store({
    fields: [{name: 'name'}],
    proxy:{
        type: 'ajax',
        url: 'www.requesturl.com?format=json&source1',
        reader: {
            type: 'json',
            root: 'xml.result'
        }
    },
    autoLoad:false,
    sorters: [{property: 'name', direction: 'asc'}]
});

我根据您的建议编写的代码,但仍然无效。 Input1store2应仅包含唯一值。

var input1storeArray = [];
var input1store = new Ext.data.Store({
fields: [{name: 'name'}],
proxy:{
    type: 'ajax',
    url: 'www.requesturl.com?format=json&source1',
    reader: {
        type: 'json',
        root: 'xml.result'
    }
},
autoLoad:false,
sorters: [{property: 'name', direction: 'asc'}],
listeners: {
  load: function(store){
input1storeArray = Ext.Array.unique(store.getRange());
}
  }
});


var input1store2 = new Ext.data.SimpleStore({
field = ['name'],
data =  input1storeArray 
});

1 个答案:

答案 0 :(得分:0)

我认为没有任何内置的东西。您需要在模型级别强制执行它 - 使此字段唯一并处理错误,或加载存储,按该字段排序并查看比较上一个和下一个的所有记录。