Extjs Combobox自动完成

时间:2011-08-11 11:46:36

标签: extjs4

我正在使用具有远程模式的Extjs 4 ComboBox。但是当我输入任何字符数据时都不会被过滤掉。甚至只有前12个值才会改变焦点。combobox image

我是Extjs 4的新手。请帮我解决这个问题。

我的代码是:

    Ext.define('MyGroup.combo', {
           extend: 'Ext.form.ComboBox',

           alias: 'widget.mycombo',
        emptyText:'select keyword',
        store: keywordStore,
        valueField:'name',
           displayField:'name',
           mode: 'remote',
           autoSelect: false,
           selectOnFocus:true,
           //shadow:true,
           //forceSelection: false,
           //triggerAction: 'all',
           hideTrigger:true,
           //multiSelect:true,
           typeAhead:true,
        minChars:1
       });

       Ext.define('keywordModel', {
           extend: 'Ext.data.Model',
           proxy: {
               type: 'ajax',
               url : '/keywordServlet',
               method:'POST',
               reader: {
                   type: 'json',
                   root: 'rows'
                   //,totalProperty: 'totalCount'
               }
           },

           fields: [
               {name: 'name', mapping: 'name'}
           ]
       });

          var keywordStore = Ext.create('Ext.data.Store', {
             // pageSize: 10,
              model: 'keywordModel'
          });

1 个答案:

答案 0 :(得分:3)

据我所知,我认为这对您有所帮助:

Ext.define('MyGroup.combo', {
           extend: 'Ext.form.ComboBox',
           alias: 'widget.mycombo',
    initComponent: function() {
        this.callParent([arguments]);
    }
});

var keywordStore = Ext.create('Ext.data.SimpleStore',{
    fields: ['id', 'name'],
    data: [[1, 'mr'],[2, 'mr(yes)'],[3, 'mr(no)'], [4, 'example'], [5, 'example(yes)'],[6,'example(no)'],[7,'sample'],[8,'sample(yes)'],[9,'sample(no)'],[10,'mrs'],[11,'mrs(yes)'],[12,'mrs(no)']]
});

Ext.widget('mycombo',{
    xtype : 'combo',
        emptyText:'select keyword',
        store: keywordStore,
        valueField:'name',
           displayField:'name',
           mode: 'remote',
           autoSelect: false,
           selectOnFocus:true,
           //shadow:true,
           //forceSelection: false,
           //triggerAction: 'all',
           hideTrigger:true,
           //multiSelect:true,
           typeAhead:true,
        minChars:1,
    renderTo :document.body
       });

还有一件事是没有人试图回答每一个问题,但每个人都试图帮助像我们这样的身体: - )