Extjs组合框根据属性显示商店记录

时间:2017-06-15 12:39:38

标签: extjs combobox model store

我是Sencha的新手,我的问题如下:

通过致电商店'媒体'在一个组合框中:

xtype: 'combobox', itemId: 'mediaPicker', store: Ext.create('web.store.Media'), fieldLabel: 'Image', emptyText: 'Choose an Image'

我收到了预期的媒体列表,但是,如何根据商店模型中的以下属性收到仅包含图片的列表:

{ name: 'type', type: 'int' }

其中type == 1表示图片。

谢谢。

2 个答案:

答案 0 :(得分:1)

您需要在商店中添加过滤器。

store: Ext.create('web.store.Media')更改为

store: Ext.create('web.store.Media',{
    filters: [{
        property: 'type',
        value: 1
        }])

注意:我不确定上面是否会进行严格的===或松散的==比较。如果它不适合您,则可以使用函数在商店中指定过滤器。查看商店过滤文档。

答案 1 :(得分:-1)

尝试实现此代码:

var my_images_store  =  new Ext.data.JsonStore({ 
                        url: 'myfilefunc.php'   
                        ,autoLoad: true
                        ,fields:[id,desc]
                        ,root: 'images'
                }); 

`

url:将此网址放在您的业务逻辑中(例如 php 功能) 字段:结果集返回的字段的名称 root:结果集的名称

结果集示例:`

{
    images: [
        {id: '1', desc:'x'},
        {id: '2', desc:'y'}
    ]
}

`