2017-06-22 40 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

好的,那么这将解决你的问题。 –