2017-07-07 43 views
1

我有一個Ext.Img,我想根據條件設置src配置。有沒有簡單的方法來實現這一點?我想這樣有條件地在ExtJS 6中設置配置?

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

,但是這顯然是行不通的。我已經使用了this thread中提到的一些技巧,通過根據條件添加不同的image項目,但我得到的只是錯誤,或者沒有項目會添加到父面板。

回答

1

的Javascript支持所謂conditional (ternary) operator

condition ? expr1 : expr2 

這在你的例子是

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

我經常用這個,例如考慮到不同的主題不同的空間要求:

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 
});