ExtJs的ComboBox組件中追加空選項


在ComboBox作為選擇條件時,需要可以把ComboBox的值選擇為空的情況,同時也

把作為該ComboBox的取值的store作為Grid的內容,這樣就不能在服務器端取得值

構造json數據加入空白選擇,只能在客戶端實現。具體實現方法如下:

 

1、store定義:(紅色字體部分是在store開頭加入空白數據)

 1 Ext.define('YakApp.store.Branchs', {
 2     extend: 'Ext.data.Store',
 3     model: 'YakApp.model.Branch',
 4     autoLoad: true,
 5     sorters: ['name'],
 6     
 7     listeners:{
 8         'load': function(store, records, options) {
 9             store.insert(0, Ext.create('YakApp.model.Branch',{id:'',name:''}));
10          }
11     }
12 
13 });

 

2、model定義:

 1 Ext.define('YakApp.model.Branch', {
 2     extend: 'Ext.data.Model',
 3     fields: ['id', 'name'],
 4     
 5     proxy: {
 6         type: 'ajax',
 7         url: 'data/branch.json',
 8         reader: {
 9             type: 'json',
10             rootProperty: 'data'
11         }
12     }
13 });

 

3、在Controller類引入store

1 stores: ["Branchs"]

 

4、在View類中使用上面的Store定義ComboBox組件

 1 {
 2     xtype: 'combo',
 3     width: 150,
 4     store: 'Branchs',
 5         editable: false,                        
 6     queryMode: 'remote',
 7     displayField: 'name',
 8         valueField: 'id',
 9     tpl: Ext.create('Ext.XTemplate',
10            '<tpl for=".">',
11          '<div class="x-boundlist-item" style="height:21px">{name}</div>',
12          '</tpl>'
13     )
14 }

  其中9-13代碼是為了顯示空白值時顯示高度和正常值一樣,做的一個設置。

 

5、實現效果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM