ExtJS ComboBox 錄入智能提示

ExtJS ComboBox很是複雜,有不少的屬性;其中有的屬性是針對某一種特定的方案而設計的,不是全部狀況下都有效。我想下拉選擇能支持錄入,而且錄入時能智能提示,弄了半天能夠了,可是隻能是mode='local'的這種方式,即數據只能加載到本地,在本地檢索;若是改爲mode='remote'卻不能。數據量太大想過濾後再加載不能實現了,鬱悶了半天; 又過了很長時間,數據量太大加載太慢的問題一直困擾着我,如是潛心研究了一番;終於mode='remote'也能夠遠程過濾後加載了,錄入時智能提示了。ide

附上代碼:url

 

  new Ext.form.ComboBox({
            allowBlank: true,
            hideLabel: true,
            width: 200,
            store: new Ext.data.JsonStore({
                url: "。。。",
                autoDestroy: true,
                fields: new Ext.data.Record.create(['Key', 'Value']),
                root: "data",
                autoLoad: false
            }),
            queryParam: 'query',
            emptyText: '選擇...',
            valueField: 'Key',
            displayField: 'Value',
            editable: true,
            autoLoadStore: false,
            mode: 'remote',
            typeAhead: true,
            loadingText: '正在加載...',
            minChars: 1,
            forceSelection: true
       });

queryParams屬性指示 獲取數據的方法中的過濾數據的參數
editable參數必須設置爲true spa

mode:'remote' 表示遠程模式加載數據,要想遠程過濾數據必須設置爲remote設計

typeAhead:true 列出下拉框時包含錄入的字符code

minChars:1 錄入一個字符就遠程過濾加載數據orm

forceSelection:true 必須是列表中的數據項才能夠選擇blog

相關文章
相關標籤/搜索