Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jsonstore异步load与filter筛选结合使用时的问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在实现的时候遇到一个问题,在异步获取Grid数据的时候,想用filter来筛选数据,不用全部显示。那起初我是这样做的:

这样做的结果就是,无论如何都没法筛选StationName字段中有包河的row,后来尝试了filterBy也是不行,数据明明都正确的获得了,也能全显示,但是筛选未果。然后我在filter后面加了LeftGridStore.isFiltered()测试,也能报true,但就是无法筛选。

通过一番查找,终于知道了,这个jsonstore的load是异步的传输,当代码执行filter的时候,上面load的数据可能还没有到位,这时候你filter是没有用的。怎么解决呢?当然你可以通过事件来触发了,就是当load加载完的时候再调用filter就可以了。

那由上面的需求我们可以得到几种方法,可以给filter加延迟,不过这种方法不好,很低效。还有就是给store加一个on:load的事件响应,这个时候就会在load执行完后调用方法当然还有一种最简单的方法就是在上面代码的load中,附加callBACk属性,然后在function中实现filter,就可以完美的达到load结束以后调用filter筛选,因为callBACk正是load成功返回后的回调函数,满足我们的需要。

但是我们会发现,alert提示的结果是undefined,也就是没有被筛选,原因很简单,因为load异步操作,执行alert的时候,上面的load并没有完成。。perfect!

大佬总结

以上是大佬教程为你收集整理的jsonstore异步load与filter筛选结合使用时的问题全部内容,希望文章能够帮你解决jsonstore异步load与filter筛选结合使用时的问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。