2016-03-25 9 views
0

私が焦点に編集可能なコンボボックスを拡大しようとしている:あなたが焦点の合っていないコンボの実際のトリガーをクリックすると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

答えて

0

これは私がやってしまったものです、それはコンボがすべてのクリックに拡張することができることをフォーカスアプローチを超える利点を持っています、最初のものだけではありません。

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

あなたはリスナーに展開状態を確認できます。

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

これは、この金曜日に取り組んでいた、謎のいくつかの並べ替えですが、私はフィドルに、私のプロジェクトの両方で100回のようにそれをテストし、今日はそれをどちらかの場所に動作しません。 Chromeが更新されたかどうか'this.isExpanded'はトリガクリック時にはfalseです。 – serg