今天我主要是总结一下这次使用extjs中使用filters的一些理解
在使用store这个时我们经常是药对一些获取到的数据进行筛选工作其中有两条思路
1 在store中直接配置好filters 这样在数据加载好,然后润色到页面上的是时候就会自动的进行筛选功能
2 我们手动的后期给加载好数据的store加入filters
注意 上面第一种放大因为时在store中直接配置的fiters 所以每次在store进行load时都会进行筛选功能,此处注意只是在load的时候会进行筛选,reload 的时候时也会进行筛选的,具体下一节分析。
第二种因为是手动进行配置的所以load时不会进行筛选
这里进行filters的使用的
1 在store中配置files filters : Object[] 这里面是需要传入一个filter数组
filter 可是一个函数,filterFn: function(item) { } 函数的参数时这个store 每一条数据record,返返回值时true或者false ,true则这条recrd满足筛选。
filter 也可以是一个对象,{
property: 'age',
value : 32
} 入这样就是这条record 的的age字段时32 则满足这个filter
2 手动调用filter 这里直接store.filter() 可以直接传一个filte数组,如上面的store种配置files一样,也可以直接传入如 filter("email", /\.com$/);当在调用的时候最好把以前的filter清楚,store.clearFilter(true);
还有一种调用时filterBy( Function fn, [Object scope] ) 这里面时一个自定义函数,但是函数的参数store 中的每一条record 和id 返回值也是true或者false,以此判断每条记录是否满足filter。