ExtJs组合框自动展开

4

我正在尝试在事件后扩展组合框的内容。

Ext.onReady(function(){

var mycb = new Ext.form.ComboBox({
   //params
});

//here is other event
var other = ....
  onChange: function() {
    //here I'm trying to expand
    mycb.expand();
}
});

但是在使用expand()函数并为搜索条件加上'*'正则表达式后,没有展开列表。我尝试将'minChars'参数设置为0,但仍然没有结果。

4个回答

2
如果您想自动展开下拉框列表,可以使用"onTriggerClick()"函数:
Ext.onReady(function(){

   var mycb = new Ext.form.ComboBox({
     // params
     listeners: {
        afterrender: function (cb) {
           cb.onTriggerClick();
        }
     }
   });

});

这个示例在渲染后自动展开您的组合框内容...


1
尝试在展开之前加载组合框的存储。

1
在加载后调用expand()函数。
listeners: {
    change: function (obj, newValue, oldValue, eOpts) {
        store.proxy.extraParams.keyword = newValue;
        store.load();
        this.expand();
    }
}  // listeners

1

以下代码在extjs3.3上对我有效,希望能帮到某些人

var taxonomyTreePanel = new Ext.form.ComboBox({
        id: 'taxTreePanel',
        store:new Ext.data.SimpleStore({fields:[],data:[[]]}),
        editable:false,
        //z-index: 7000,
        typeAhead:false,//done by siddhartha
        selectOnFocus:true, 
        shadow:false,
        mode: 'local',
        triggerAction:'all',
        maxHeight: 200,
        width: 340,
        emptyText:"Select Resource Category",
        tpl: '<tpl for="."><div style="height:210px"><div id="taxonomyTreediv"></div></div></tpl>',
        selectedClass:'',
        forceSelection: true,
        onSelect:Ext.emptyFn,
        listeners: {
            afterrender: function (obj) {
               if(singleParamDynamicQuery &&docTypeCodeDynamciQuery.length>0){  
                    obj.onTriggerClick();
               }
            }
        },
        onViewClick : function(doFocus){
         //do nothing
        }
        });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接