Extjs中的combobox实现本地查询

Extjs中本身对combobox的下拉列表中数据的查询已经支持的很好,举个例子:

{name: 'test',

xtype: 'combo',

labelWidth: 30,

fieldLabel: '测试',

displayfield: 'name',

queryMode: 'remote',

store:Ext.create('Ext.data.Store',{

    proxy:{

     url:'/test'

}

}


假设服务器返回的 示例数据:

{name:'简书‘},

{name:'简书1‘}

在上面的配置中,在combobox输入:‘1’,就可以把‘简书1’,筛选出来。

很方便是吧,extjs为我们做了一切。如果仅仅是这样那么我就不会记录本文,神奇的事情发生在当queryModel的值设为:‘local’时,本地筛选的规则非常奇怪。

在combobox输入‘1’,无效,输入‘简’,两条都出现,输入‘简书1’,才能把第二天找出来。是从左到右来查询。太可爱了。。。

为了实现更加人性化的本地查询,本来想自己来写个方法,发现要考虑的情况很多,在解决过程中,去源码里查找,发现了这个属性‘enableRegEx',api里介绍,这个只有在queryModel是local的时候才有效。但是默认配置是’false‘。这个一看就有戏,试了一下果然筛选效果就跟queryModel:’remote‘一样了。

不过,为什么enableRegEx: 'true',这么强势的属性要默认为false,真是。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容