如何定义组合框的扩展属性以插入&删除商店中的商品?

时间:2011-11-17 09:12:45

标签: extjs

Ext JS ComboBox属性

    typeAhead: true
    editable: true
    forceSelection: false
    lazyRender: true
    mode: 'local'
    emptyText: 'Please Select'
    triggerAction:’all’

扩展属性

    insertedItems:[]

此属性使我们能够使用特定索引向商店插入任何项目。例如:insertedItems:[{name:'Item1,value:'15',index:3'}]。在onStoreLoad中,这个项目数组将插入到具有指定索引的商店中。

    removedItems:[]

此属性使我们能够使用特定索引从商店中删除任何不需要的项目。在onStoreLoad中,将使用指定的索引从商店中删除此项目数组。

我试过了

insertedItems: [{ Name: 'Manage This List', Value: 'edit', Index: '0', IsSeparator: '0'}]
removedItems: []
onStoreLoad: function () {
    if (this.insertedItems) {
        var insertedItems = new Array();
        insertedItems = this.insertedItems;
        for (var i = 0; i < insertedItems.length; i++) {
            if (insertedItems['Index']) {
                var index = insertedItems['Index'].getValue();
            }
            this.store.insert(index, insertedItems);
        }
    }
    if (this.removedItems) {
        var removedItems = new Array();
        removedItems = this.removedItems;
        for (var i = 0; i < removedItems.length; i++) {
            if (removedItems['Index']) {
                var index = removedItems['Index'];
            }
            this.store.removeAt(index);
        }
    }
}

请帮我insertItems []&amp; removedItems []。 感谢。

1 个答案:

答案 0 :(得分:0)

这应该更符合你的想法(我认为,不能正确地遵循你所说的)

insertedItems: [{ Name: 'Manage This List', Value: 'edit', Index: '0', IsSeparator: '0'}]
removedItems: []
onStoreLoad: function () {
    if (this.insertedItems) {
        var insertedItems = [];
        insertedItems = this.insertedItems;
        for (var i = 0; i < insertedItems.length; i++) {
            if (insertedItems[i]) {
                var record = insertedItems[i];
            }
            this.store.insert(this.store.length, record);
        }
    }
    if (this.removedItems) {
        var removedItems = [];
        removedItems = this.removedItems;
        for (var i = 0; i < removedItems.length; i++) {
            if (removedItems[i]) {
                var record = removedItems[i];
            }
            this.store.remove(record);
        }
    }
}