2017-07-18 5 views
1

私はこのバグを示す小さなfiddleを持っています。デフォルト値をスライダーフィールドに設定すると、他の標準フィールドとは異なり、変更イベントが発生することがわかります。コードは同じくらい簡単です:あなたはこのコードを実行した場合ExtJSのスライダーバグ6.5

Ext.create('Ext.slider.Single', { 
     width: 200, 
     value: 100, 
     increment: 10, 
     minValue: 0, 
     maxValue: 100, 
     renderTo: "slider", 
     listeners: { 
      change: function() { 
       console.log("Slider changed!"); 
      } 
     } 
    }); 
    Ext.create('Ext.form.field.Text', { 
     width: 200, 
     value: "Hello world", 
     renderTo: "text", 
     listeners: { 
      change: function() { 
       console.log("Textfield changed!"); 
      } 
     } 
    }); 

、あなたはテキストフィールドには発生しませんが、そのスライダーフィールド火災がイベントを変更する表示されます。 ExtJS 6.2.Xでは、このような問題はありませんでした。これでアプリケーションに完全なクラッシュが発生します。したがって、ExtJS 6.2とExtJS 6.5との間に互換性はありません。私はそれを自分で修正することができれば、不思議。

+0

BTW。スライダーウィジェット列を持つグリッドがある場合、このバグはデフォルトで何回も変更イベントを発生させる可能性があります。私はちょうどそれをチェックした。 – Jacobian

+0

私はこのヤコビアンに気付きました。それはスライダウィジェットで何度も発生しますが、スライダウィジェットの "changecomplete"イベントはこれ以上表示されません。何か案は? – TimL

答えて

2

問題が

initValue機能にlink

基本的に、彼らが設定したフラグをチェックしてくださいとupdateValuesに、彼らは初期化のための焼成changeイベントをスキップExtJSの6.5.1で解決されることになっています。

ExtJS 6.5.1リファレンスからこれらの機能を無効にすることができます。

+0

ありがとうございました! – Jacobian