如何在ExtJS6中扩展组合焦点?

时间:2016-03-25 22:10:18

标签: extjs extjs6

我正在尝试在焦点上扩展可编辑的组合框:

{
    queryMode: 'local',
    triggerAction: 'all',
    forceSelection: true,
    editable: true,
    anyMatch: true,
    valueField: 'id',
    displayField: 'name',
    store: store,
    listeners: {
        focus: function(){
            this.expand();
        }
    },
}

当您单击未聚焦组合的实际触发器时,此方法无法正常工作 - 它会立即打开并关闭它。

有趣的是tagfield默认输入有我试图模仿的行为,也许有一个我缺少的选项。

https://fiddle.sencha.com/#fiddle/17ok

2 个答案:

答案 0 :(得分:2)

您可以检查侦听器中的展开状态:

if (!this.isExpanded) {
    this.expand();
}

答案 1 :(得分:0)

这就是我最终要做的事情,它优于聚焦方法,可以在每次点击时扩展组合,而不仅仅是第一次。

listeners: {
    render: function(el){
        el.getEl().down('input').on({
            scope: el,
            click: function(){
                if(!this.isExpanded) {
                    this.expand();
                }
            },
        });
    },
}