2017-06-22 44 views
0

我希望能夠在我的數據Ext JS的xtemplate設置數據爲特定值

data : {"active" : 'Y', 'label': 'Don't change this'}, 
      action : 'autoBandActive', 
      margin: '0 0 10 0', 
      tpl : new Ext.XTemplate(
        '<div class="row">', 
        '<div class="pay-label" data-qtip="{label}">{label}</div>', 
        '<tpl if="active == \'Y\'">', 
        '<span class="active">Active</span>', 
        '<tpl else>', 
        '<span class="inactive">Inactive</span>', 
        '</tpl>', 
        '</div>' 
      ) 
在控制器 tpl.setData({"active": 'N'}

改變一個特定的值,但標籤被刪除。我不想這樣做tpl.setData({"active": 'N', 'label', 'new-label'}。我只是想改變的主動變

回答

0

假設你的意思component.setData()而不是tpl.setData(),那麼你會做這樣的事情:

Ext.onReady(function() { 
    var c = new Ext.Component({ 
     renderTo: document.body, 
     tpl: '{a}{b}', 
     data: { 
      a: 1 
     } 
    }); 

    setTimeout(() => { 
     c.setData(Ext.apply({b: 2}, c.getData())); 
    }, 2000); 
}); 

Fiddle

+0

我的數據會成立這樣的數據{一:1,B:'改變這個ONY'}是的,我的意思是組件 –

+0

好的,那麼這將解決你的問題。 –