有完整的Ext.form.ComboBox调用store.filterBy例子吗
时间: 2023-11-12 18:06:08 浏览: 163
ComboBox Example
当然有,以下是一个简单的例子,展示了如何使用Ext.form.ComboBox的`store.filterBy`方法来过滤数据:
```javascript
// 创建store
var store = Ext.create('Ext.data.Store', {
fields: ['name', 'age'],
data: [
{ name: '张三', age: 20 },
{ name: '李四', age: 30 },
{ name: '王五', age: 40 }
]
});
// 创建ComboBox
var comboBox = Ext.create('Ext.form.ComboBox', {
fieldLabel: '姓名',
displayField: 'name',
valueField: 'name',
store: store,
queryMode: 'local'
});
// 过滤数据
store.filterBy(function(record) {
return record.get('age') >= 30;
});
// 渲染ComboBox
comboBox.render(Ext.getBody());
```
以上代码中,我们首先创建了一个store,其中包含了三条记录,每条记录包含了一个`name`字段和一个`age`字段。然后,我们创建了一个ComboBox,将store作为ComboBox的数据源,并且将`name`字段作为ComboBox的显示字段。
接着,我们使用`store.filterBy`方法来过滤数据,只保留`age`字段大于等于30的记录。最后,我们将ComboBox渲染到页面上。
需要注意的是,`store.filterBy`方法会改变store中记录的顺序,因此在使用该方法之前,我们需要考虑好记录的顺序是否对我们的需求产生影响。如果需要保留记录的原始顺序,可以使用`store.filter`方法来实现过滤。
阅读全文