如何从Ext.ux.slidenavigation.View中删除所有项目

时间:2013-05-24 01:36:06

标签: extjs sencha-touch

所以这是我用于slidenavigation的插件:slidenavigation,我想删除绘制方法上的所有项目。

项目似乎存储在this.data.items中。但是清除数组并不能解决问题。

收起商店的情况并不好。所以这里是绘制方法来初始化项目并将它们推送到插件

Ext.define("APN.view.FlyoutNavigation", {
    id: "flyoutNavigationPanel",
    extend: 'Ext.ux.slidenavigation.View',
    },
    listeners:
    {
        painted: function() {
            this.store.clear()
            this.store.data.clear()
            this.store.items = []

            var arrItems = [
            .. heaps of items in here
            ]

            this.addItems(arrItems);

        },
    },

在插件addItems方法中:

    addItems: function(items) {
        console.log("data from addItems:")
        console.log(this.store)
        var me = this,
            items = Ext.isArray(items) ? items : [items],
            groups = me.config.groups;

        Ext.each(items, function(item, index) {
            if (!Ext.isDefined(item.index)) {
                item.index = me._indexCount;
                me._indexCount++;
            }
            me.store.add(item);
            console.log("data from addItems after adding:")
            console.log(me.store.data.all.length)
        });
        console.log("data from addItems after adding:")
        console.log(this.store)
    },

2 个答案:

答案 0 :(得分:1)

如果要从DOM中删除所有项目,则必须获取所有项目并在其上调用destroy方法

答案 1 :(得分:1)

尝试使用:

this.store.remove(this.store.getRange());

这应该清除商店。