2009-06-12 36 views
22

我試圖創建一個簡單的組合框:ExtJS ComboBox triggerAction是什麼:「全部」真的嗎?

var combo1 = new Ext.form.ComboBox({ 
    store: [1,2,3], 
    renderTo: document.body 
}); 

但是這樣寫它的行爲很奇怪:

  • 當您第一次流行打開下拉,它提供了三種選擇。
  • 你選擇一個。
  • 但是,當您嘗試更改您的選擇後,下拉菜單隻提供一種選擇 - 您之前選擇的選項。

我比我的代碼爲samples在內線的主頁,發現添加triggerAction: "all"解決我的問題:

var combo2 = new Ext.form.ComboBox({ 
    triggerAction: "all", 
    store: [1,2,3], 
    renderTo: document.body 
}); 

的ExtJS的triggerAction文件並沒有告訴我很多:

單擊觸發器時執行的操作。 使用「全部」運行由

我沒有指定allQuery選項allQuery 配置選項(默認爲「查詢」)指定的查詢。實際上,我根本不想對服務器執行查詢。

那麼triggerAction究竟做了什麼?

並將其設置爲"all"真的我應該做什麼,當我只想要一個簡單的靜態組合框?

回答

22

選擇一個項目後,該列表將被過濾以匹配當前文本值。在你的情況下,它總是正確的選擇值,但對於多字符值更爲明顯(請參閱Ext中的州名示例)。如果刪除選定的值,則下拉菜單將返回到具有所有值。 triggerAction:'all'表示不過濾,始終顯示所有值。

+0

謝謝。現在我懂了。 – 2009-06-12 20:02:36