Как добавить событие клика с настройками рендерера ExtJS Panel? - PullRequest
0 голосов
/ 08 октября 2019

Теперь, в рендерере конфигов, я не могу вызвать tClick;Есть ли способ удовлетворить мои потребности?

код:

Ext.application({
    name: 'Fiddle',

    launch: function () {
        Ext.create('Ext.panel.Panel', {
            title: 'Table Layout',
            width: 300,
            layout: 'form',
            items: [{
                xtype: 'displayfield',
                fieldLabel: 'Home',
                name: 'home_score',
                renderer: function (val) {
                    return "<button onclick='this.tClick;'>test</button>";
                }
            }],
            buttons: [{
                text: 'Upload',
                handler: this.tClick
            }],
            renderTo: Ext.getBody()
        });
    },

    tClick: function () {
        alert(1);
    },
});

Просмотреть результаты прогона здесь: https://fiddle.sencha.com/#view/editor

1 Ответ

0 голосов
/ 08 октября 2019

Вы должны ссылаться на приложение как Fiddle.getApplication().tClick().

Ext.application({
    name: 'Fiddle',

    launch: function () {
        let me =this;
        Ext.create('Ext.panel.Panel', {
            title: 'Table Layout',
            width: 300,
            layout: 'form',
            items: [{
                xtype: 'displayfield',
                fieldLabel: 'Home',
                name: 'home_score',
                renderer: function (val) {
                    return "<button onclick='Fiddle.getApplication().tClick();'>test</button>";
                }
            }],
            buttons: [{
                text: 'Upload',
                handler: this.tClick
            }],
            renderTo: Ext.getBody()
        });
    },

    tClick: function () {
        alert(1);
    },
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...