Как вызвать функцию из tpl в ExtJs

Я использую элемент управления dataview, где мне нужно вызвать функцию из ее tpl. Ниже мой код, но он не работает.

                                        xtype: 'dataview',
                                        scrollable: true,
                                        tpl: new Ext.XTemplate(
                                            '<tpl for=".">',
                                            '<div class="messageTbl">',
                                            '<table style="width: 100%;">',                                             
                                            '<tr><td>{[this.formatDate(CreationDate)]}</td><tr/>',                                              
                                            '</table>',
                                            '</div>',
                                            '</tpl>',
                                            { 
                                                formatDate: function (date) {
                                                    return date;
                                                    }
                                                },
                                            }
                                        ),

person Sunil Chaudhary    schedule 01.10.2020    source источник


Ответы (2)


У вас есть синтаксическая ошибка в функции formatDate.

{
    xtype: 'dataview',
    scrollable: true,
    tpl: new Ext.XTemplate(
        '<tpl for=".">',
        '<div class="messageTbl">',
        '<table style="width: 100%;">',
        '<tr><td>{[this.formatDate(CreationDate)]}</td><tr/>',
        '</table>',
        '</div>',
        '</tpl>',
        {
            formatDate: function (date) {
                return date;
            }
        }
    )
}
person norbeq    schedule 01.10.2020
comment
мы можем получить индекс в том же примере, @norbeq? - person Sunil Chaudhary; 01.10.2020

Запрос индекса в том же примере:

Это в сводном разделе документации XTemplate?

Документация по XTemplate

var tpl = new Ext.XTemplate(
    '<p>Kids: ',
    '<tpl for=".">',       // process the data.kids node
        '<p>{#}. {name}</p>',  // use current array index to autonumber
    '</tpl></p>'
);
tpl.overwrite(panel.body, data.kids); // pass the kids property of the data object
person mcg1103    schedule 16.10.2020