【发布时间】:2018-11-05 03:41:47
【问题描述】:
我有一个关于 Extjs 远程过滤器的问题,我希望你能帮助澄清一下。
我创建了一个带有远程过滤器的网格,效果很好,但是如果我更新网格信息,过滤器会保留以前加载的数据。
我已经尝试了所有方法:store.doDestroy、store.removeAll,甚至使用 Ex.create 为 var 分配一个新商店 ,但我没有成功。
我创建了一个Fiddle 来尝试重现我的问题:
- 首先加载默认信息(辛普森一家)
- 然后打开“爱好”过滤器(模拟选择不同的)。你会得到爵士乐、滑板、啤酒和针织。
- 之后,更新网格数据(切换到 Van Houtens)
- 最后,尝试获得 Van Houtens 的爱好(Videogames、Margaritas and None),但你获得了 Simpsons Hobbies(Jazz、Skate..),因为过滤器是之前加载的。 (注意没有加载掩码)。
- 现在重新开始测试跳过第 2 步(和第 5 步以避免无限循环 XD)并注意正确的爱好是如何显示的。
我需要“重置”之前的商店加载。
注意事项:
- 如果我只是做一个store.load,会触发请求,但返回的值不会绑定到过滤器列表。
- 如果尝试使用此 bind:{store:'{filterStore}'} 绑定商店,则会发生注释
【问题讨论】:
-
从小提琴,我看不出你被困在哪里了。
-
目前还不清楚是什么问题。你所说的“尝试得到”是什么意思?
-
不清楚您要达到的目标。如果您看到this screenshot,我看不出您试图只为一个家庭加载过滤器。 “辛普森家族的过滤器”是
hair.json的整个列表,这就是为什么总是显示这些。请详细说明。 -
感谢您的回答。我对Fiddle 做了一些更新。现在的头发颜色过滤器应该基于家庭过滤器。请注意,如果 Grid 内容已更新,该过滤器如何未被清除(或者至少我不知道如何清除)。提前致谢!
标签: extjs