Sencha touch 使用Sencha Touch在存储加载后设置徽章文本

Sencha touch 使用Sencha Touch在存储加载后设置徽章文本,sencha-touch,Sencha Touch,我可以在加载商店后获得物品数量,我想知道如何以及在何处更新当前视图中选项卡栏中按钮的徽章文本 这里有我的视图面板,我想我可以在初始化函数中设置徽章文本: Ext.define('connect.view.InProgressPanel'{ 扩展:“Ext.NavigationView”, xtype:“inprogressPanel”, 要求:[ 'connect.view.inprogressleads.InProgressList' ], 配置:{ itemId:“inprogressPa

我可以在加载商店后获得物品数量,我想知道如何以及在何处更新当前视图中选项卡栏中按钮的徽章文本

这里有我的视图面板,我想我可以在初始化函数中设置徽章文本:

Ext.define('connect.view.InProgressPanel'{
扩展:“Ext.NavigationView”,
xtype:“inprogressPanel”,
要求:[
'connect.view.inprogressleads.InProgressList'
],
配置:{
itemId:“inprogressPanel”,
标题:“过程中的潜在客户”,
iconCls:“团队”,
项目:[{
标题:“过程中的潜在客户”,
xtype:“inprogressList”
}]
},
初始化:函数(eOpts){
var store=Ext.getStore('InProgressLeads'); store.on('load',function(){ var listCount=store.getCount(); console.log(listCount); //把徽章放在这里 }); } });

在这里,我定义了主视图中面板的按钮:

{
id:“lipPanel”,
标题:“过程中的潜在客户”,
iconCls:‘团队’,
项目:[{ 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> 
试试这个:

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

获取对选项卡栏的引用,然后通过其名称获取对按钮的引用。

var apptabbar=Ext.getCmp('Ext-tabbar-1');
var tab=apptabbar.down('.tab[title=Leads In Process]');
tab.setBadgeText(列表计数)

不,这不起作用:未捕获类型错误:未定义不是函数抱歉。。我还没有看到你的全部代码…可能是你的代码有问题…正如你所说,{id:'lipPanel',title:'Leads in Process',iconCls:'team',items:[{xtype:'inprogressPanel'}]}有一个按钮。然后你需要在这里张贴你的按钮id。。。因为在我的代码中有一个面板的id,它不起作用。只需尝试用按钮的id替换“lipPanel”,并确保在初始化事件时,必须创建并激活包含按钮的视图。Natik,定义按钮所需的一切都已发布。它主要在主视图的代码段中定义。inprogressPanel中有一些冗余代码。我已经在inprogressPanel中注释掉了标题和图标:“团队”。那么我该如何定义带有id的按钮呢。。您希望在按钮上显示徽章文本,因此必须在面板中的某个位置定义一个按钮,如{xtype:'button',id:'badgeBtn',itemId:'badgeBtn'}。正当所以你只需要把你想要的徽章文本放在按钮的id上。易于理解的我尝试在InProgressPanel、config或main视图中定义按钮。在任何一种情况下,按钮都会替换面板视图中的列表。似乎替换工具栏按钮的按钮应该在定义lipPanel的主视图中定义,但可能不在项目列表中定义。你有一个有效的例子吗?谢谢。这就是奈提克的答案,他说你应该使用你的巴顿id,应该接受它,而不是基于它一个不同的答案。