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,真是。。。。

你可能感兴趣的:(Extjs中的combobox实现本地查询)