Ext JS xtemplate将数据设置为特定值

时间:2017-06-22 16:11:04

标签: extjs 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'}。我只想更改活动变量

1 个答案:

答案 0 :(得分: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