我有一個Ext.Img
,我想根據條件設置src
配置。有沒有簡單的方法來實現這一點?我想這樣有條件地在ExtJS 6中設置配置?
if(condition){ src: 'image1.png'} else { src: 'image2.png'}
,但是這顯然是行不通的。我已經使用了this thread中提到的一些技巧,通過根據條件添加不同的image
項目,但我得到的只是錯誤,或者沒有項目會添加到父面板。
我有一個Ext.Img
,我想根據條件設置src
配置。有沒有簡單的方法來實現這一點?我想這樣有條件地在ExtJS 6中設置配置?
if(condition){ src: 'image1.png'} else { src: 'image2.png'}
,但是這顯然是行不通的。我已經使用了this thread中提到的一些技巧,通過根據條件添加不同的image
項目,但我得到的只是錯誤,或者沒有項目會添加到父面板。
的Javascript支持所謂conditional (ternary) operator:
condition ? expr1 : expr2
這在你的例子是
src: condition?'image1.png':'image2.png'
我經常用這個,例如考慮到不同的主題不同的空間要求:
width: Ext.is.Triton?200:180
但是,你必須確保在條件中使用的變量在他們評估(這可能是比你早想)的時間正確定義。
如果您需要在變量發生變化時重新評估的條件,則必須查看ExtJS bindings。
您可以輕鬆地只是有配置在變事先準備好,例如:
// 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
});