2017-07-07 10 views
1

Ext.Img私はsrcの設定を条件に基づいて設定したいと考えています。これを達成する簡単な方法はありますか?私はExtJS 6で条件を条件付きで設定していますか?

if(condition){ src: 'image1.png'} else { src: 'image2.png'}

のようなものを考えていますが、これは明らかに動作しません。 this threadに記載されているテクニックのいくつかを条件に基づいて別のimageアイテムを追加して使用しましたが、エラーが表示されるか、親パネルにアイテムが追加されません。

答えて

1

Javascriptがconditional (ternary) operatorいわゆるをサポートしています。

あなたの例では、例えば、私が定期的にこれを使用

src: condition?'image1.png':'image2.png' 

だろう

condition ? expr1 : expr2 

異なるテーマの様々なスペースの要件を考慮して:

width: Ext.is.Triton?200:180 

しかし、あなたは(これはあなたが考えているよりも早くかもしれない)状態で使用する変数が正しく、それらが評価される時に定義されていることを確認する必要があります。

変数が変更されるたびに再評価される条件が必要な場合は、ExtJS bindingsを調べる必要があります。

0

あなたは簡単にだけ、たとえば、変数にあらかじめ準備の構成を持つことができます。

// Set the default value (image 1) 
var imageUrl = 'image1.png'; 
if (condition) 
{ 
    // Condition for image 2 is met, set it 
    imageUrl = 'image2.png'; 
} 

var myConditionalImage = Ext.create('Ext.img', { 
    ... 
    // Use prepared variable with conditional image URL 
    src: imageUrl 
}); 
関連する問題