0

次の店があります。

Ext.define('Sencha.store.AdultMenuStore', {
extend: 'Ext.data.Store',

config: {
    onItemDisclosure: true,
    model:'Sencha.model.MenuPoint',
    data: [
        {
            id:   'addChild',
            name: 'Add child',
            icon_url: 'http://kidsparent.no/images/adultMenu/bkids-home-plussign.png',
            xtype: 'addchildform'
        },{
            id:   'share',
            name: 'Share',
            icon_url: 'http://kidsparent.no/images/adultMenu/bkids-home-shareicon.png',
            xtype: 'childmenu'
        },{
            id:   'myProfile',
            name: 'My Profile',
            icon_url: 'http://kidsparent.no/images/adultMenu/bkids-home-profile.png',
            xtype: 'childmenu'
        },{
            id:   'help',
            name: 'Help',
            icon_url: 'http://kidsparent.no/images/adultMenu/bkids-home-question.png',
            xtype: 'childmenu'
        }]
}
});

次のモデルを使用します。

Ext.define('Sencha.model.MenuPoint', {
extend: 'Ext.data.Model',

config: {
    fields: [
        {name: 'id', type: 'string'},
        {name: 'name', type: 'string'},
        {name: 'icon_url', type: 'string'},
        {name: 'xtype', type: 'string'}
    ]
}
});

コードのいくつかの場所で、次のように動的にメニュー ポイントを追加します。

 var child = children[i];
 var menuPoint = Ext.create('Sencha.model.MenuPoint', {id: child.childId, name: child.firstName, icon_url: 'aLink', xtype: 'childmenu'});
 store.add(menuPoint);

また、ストアをクリアする必要がある場合もあります。したがって、動的に追加したメニュー ポイントを削除し、ストアでハードコーディングしたメニュー ポイントのみを使用します。ストアを削除および追加する方法はわかりますが、ストアをリセットして、そこで定義した静的データを再設定する方法がわかりません。

4

1 に答える 1

1

あなたが尊重しなかったあなたの前の質問に私が答えたようにしてください:)

var data = [
        {
            id:   'addChild',
            name: 'Add child',
            icon_url: 'http://kidsparent.no/images/adultMenu/bkids-home-plussign.png',
            xtype: 'addchildform'
        },{
            id:   'share',
            name: 'Share',
            icon_url: 'http://kidsparent.no/images/adultMenu/bkids-home-shareicon.png',
            xtype: 'childmenu'
        },{
            id:   'myProfile',
            name: 'My Profile',
            icon_url: 'http://kidsparent.no/images/adultMenu/bkids-home-profile.png',
            xtype: 'childmenu'
        },{
            id:   'help',
            name: 'Help',
            icon_url: 'http://kidsparent.no/images/adultMenu/bkids-home-question.png',
            xtype: 'childmenu'
        }]

store.load(function (store) {
    store.add(data)// data is an array with you local data
})

store.load() 関数は前のデータをクリーンアップします

乾杯、オレグ

于 2012-07-30T09:13:08.107 に答える