更新/更改列表组件 sencha touch 的存储

Posted

技术标签:

【中文标题】更新/更改列表组件 sencha touch 的存储【英文标题】:Update / change store of list component sencha touch 【发布时间】:2011-06-22 15:22:13 【问题描述】:

我有一个叠加层,它有一个工具栏作为停靠项,一个 Ext.List 作为项目。 当用户拖动滑块以显示轮播中每张卡片中的重要内容时,就会显示此叠加层。每张卡片都有自己的存储区,其中包含我想在叠加层中显示的数据。

我可以在拖动时更改工具栏的标题:

this.overlayTb.setTitle(cards[index].categoryName);

但是当我尝试更改为我的列表视图提供内容的商店时,它确实有效。

this.myList.store = cards[index].store;

它只是一直显示我设置的初始商店的数据,而不是像工具栏标题那样更改。 我曾尝试在 myList 和 Ext.StoreMgr.get('newsStore').load() 上调用 doLayout();正如this answer 中所建议的那样,但没有任何好处。如果我尝试:

this.myList.update();

它停止显示商店的数据,我只能看到一个空白面板

在调试时,我可以看到 this.myList.store 更改为我需要的商店,但视图没有更新。

希望你能帮到我

【问题讨论】:

【参考方案1】:

使用 Ext.List 的 bindStore(cards[index].store) 方法正确销毁和清理旧存储并将新存储绑定到列表的事件。

【讨论】:

以上是关于更新/更改列表组件 sencha touch 的存储的主要内容,如果未能解决你的问题,请参考以下文章

Sencha touch 2 filterby() 不更新记录

sencha touch 在按钮的选项卡上隐藏和显示组件

选项卡式工具栏内的 Sencha Touch List 组件

如何在 Sencha Touch 2 的列表后添加项目?

Sencha Touch 应用架构

Sencha Touch - 本地存储问题