2017-06-15 20 views
-1

我是新來的煎茶顯示存儲記錄和我的問題是:ExtJS的組合框基於一個屬性

通過調用店「媒體」的組合框:

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

我收到的媒體名單如預期,但是,我怎麼能只接收圖像的列表,基於商店的模型以下屬性:

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

其中圖像類型== 1。

謝謝。

+0

請分享小提琴和您的ExtJs版本。您需要通過使用組合框或直接在商店傳遞過濾器到商店 - 您可能需要查看商店的filterBy功能。 – devbnz

回答

1

您需要將過濾器添加到您的商店。

變化store: Ext.create('web.store.Media')喜歡的東西

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

注:我不知道是否上面會做嚴格的===或鬆散的==比較。如果它不適合你,那麼你可以使用一個函數在商店中指定過濾器。查看商店過濾文檔。

+0

據我所知,默認情況下,它既不會== ==也不會==,只有'.toString()。startsWith()'。您必須將['exactMatch:true'](http://docs.sencha.com/extjs/6.2.1/classic/Ext.util.Filter.html#cfg-exactMatch)配置添加到過濾器以獲取= =,並且只能通過函數使用該屬性才能實現===。你可以看到整個一團糟[這裏](https://fiddle.sencha.com/#view/editor&fiddle/22l2)。 – Alexander

-1

嘗試執行該代碼:的名稱:

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

`

網址:把這裏的URL,你的業務邏輯(PHP功能爲例) 領域由結果集返回的字段 根:結果集的名稱

結果集例如:`

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

`

相關問題