使用Sencha Touch加载商店后设置徽章文本

时间:2014-05-28 12:44:30

标签: sencha-touch

我可以在加载商店后获得商品数量,并且我想知道如何以及在何处更新当前视图中标签栏中按钮的徽章文字。

这里我有我的视图面板,我认为我可以在初始化函数中设置徽章文本:      Ext.define('connect.view.InProgressPanel', { extend: 'Ext.NavigationView', xtype: 'inprogressPanel', requires: [ 'connect.view.inprogressleads.InProgressList' ], config: { itemId: 'inprogressPanel', title: 'Leads In Process', iconCls: 'team', items:[{ title: 'Leads In Process', xtype: 'inprogressList' }] }, initialize: function( eOpts ) {
var store = Ext.getStore('InProgressLeads'); store.on('load', function () { var listCount = store.getCount(); console.log(listCount); // set the badge here }); } });

在这里,我在主视图中定义面板的按钮:      { id: 'lipPanel', title: 'Leads In Process', iconCls: 'team',
items: [{ xtype: 'inprogressPanel' }] },

我已经读过我可以给一个按钮一个ID,然后我可以使用该ID来获取对该按钮的引用,但是当我定义它时,我还没有找到任何方法来指定按钮的ID这种方式在主面板中。或者是否有另一种获取按钮并设置徽章文本的方法?

更新:以下是设置徽章的方法:

<code>
      store.on('load', function () {

        var listCount = store.getCount(); 
        var apptabbar = Ext.getCmp('ext-tabbar-1');
        var tab = apptabbar.down('.tab[title=Leads In Process]');
        tab.setBadgeText(listCount);            

      });
</code> 

2 个答案:

答案 0 :(得分:0)

试试这个:

Ext.getCmp('lipPanel').setBadgeText(listCount);

答案 1 :(得分:0)

获取对tabbar的引用,然后按名称获取对该按钮的引用。      var apptabbar = Ext.getCmp('ext-tabbar-1'); var tab = apptabbar.down('.tab[title=Leads In Process]'); tab.setBadgeText(listCount);