[英]Items in Sencha Touch Carousel disappearing
我目前正在使用Sencha Touch构建应用程序。 我们的页面上有一个特定的轮播,其中包含多个项目。 单击其他面板上的按钮后,某些项目将添加到面板中或从中删除。
问题 :所有操作均按计划进行,但第一次单击时再次单击该按钮 ,该功能停止工作,并且“轮播”显示变为空白,没有任何项目可见。
下面是更改转盘的内容的按钮处理程序 itemsCarousel
。 该函数将itemPanels[ b.getBadgeText() ]
到itemsCarousel
的项目中。 对于前四次点击,效果很好。 大约过一会儿,当我单击一个按钮时,“轮播”中的所有项目都消失了,甚至无法从控制台手动调用“轮播”,也无法添加或删除更多内容。
handler: function(b, e) {
itemsCarousel.insert(1, itemPanels[ b.getBadgeText() ]);
itemsCarousel.doLayout(); itemsCarousel.doComponentLayout();
itemsCarousel.setActiveItem(1);
itemsCarousel.remove(0, false);
}
我尝试过的事情:
0
,将0
设置0
活动,然后移除1
更改顺序。 .insert()
语句中,有时出现在.remove()
。 .remove()
调用(如上所示)和itemsCarousel
的声明中调整autoDestroy
参数。 如果您需要更多代码,我可以发布您认为相关的任何内容,但我不想用过多的代码来污染该线程。 谢谢你的帮助!
编辑:如果有人知道另一种方法来重现相同的功能,我也很乐意。 我正在考虑也许创建一个带有一个项目(一个转盘)的虚拟容器容器,并删除整个转盘并在单击按钮时重新添加一个全新的(带有新项目)一个?
好吧,我想出了如何使用其他方法重现功能的方法。
我构建了多个轮播,每个轮播都包含我想要的面板,然后有一个根面板,该面板简单地根据按钮的按下来设置活动的轮播。 例如,层次结构如下现在这个样子:
rootPanel
{
carousel[0]
{
panel1
panel2
}
carousel[1]
{
panel3
panel4
}
...
}
然后执行rootPanel.setActiveItem(x)
来显示新的轮播。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.