ExtJS 手动添加记录以存储和动态更改模型

目标

我正在聚合来自多个来源的数据并将其显示在一个网格中。数据都是相同的格式。为了实现这一点,我将来自多个来源的数据加载到唯一的存储中,然后将记录加载到主存储中以进行显示。

问题

数据加载正常,但我有一个动态模型,可以重新格式化数据以显示在网格中。此模型必须在加载时更改,它不能在模型文件中硬编码。但是,一旦从其他商店加载并显示所有数据,模型字段就不会在商店中设置。强制商店应用模型的正常方法是调用store.load(),但是当我调用store.load()它时,会从其他商店中删除手动添加的数据。如何强制这些数据保留在商店中,或者有没有办法强制商店应用模型而不从 url 请求数据?

TLDR

如何强制手动添加的记录保留在商店中,或者有没有办法强制商店应用动态模型而不从 url 请求数据?


开心每一天1111
浏览 199回答 3
3回答

湖上湖

在我看来,您可以重新加载商店中的数据(因为您已经拥有所需的所有数据)。使用 ExtJs 4.2,您可以尝试以下代码:yourStore.loadRawData(yourStore.data.items, false)这应该确保您的所有字段都设置正确。 https://docs.sencha.com/extjs/4.2.6/#!/api/Ext.data.Store

POPMUISE

监听 beforeload 事件,返回 false 阻止自动加载,调用 Ajax 获取需要的数据。

米脂

try store.sync();如果这无济于事,请尝试使用store.loadRawRecords([records],true);或者另一种方法是将数据保存在数组中并从那里加载而不是从其他商店加载
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript