Отправка значения из одного представления в другое ExtJS 4 - PullRequest
0 голосов
/ 29 июня 2018

Я хочу отправить значение из одного представления в другое, у меня есть код, который работает в ExtJS 6, но не в ExtJS 4.

Это из первого:

var test = Ext.create('test.text', {
    delayedRenderTo: container_id,
    id: 'messageBox-' + meta.rowIndex,
    viewModel: {
        data: {
            value: value
        }
    }
});

и мы связываем это так:

Ext.define('test.text', {
    extend: 'Ext.Panel',
    layout: {
        type: 'vbox',
        align: 'stretch',
        overflow: 'scroller',
    },
    items: [{
        xtype: 'textareafield',
        grow: true,
        growMin: 30,
        growMax: 120,
        disabled: true,
        fullscreen: true,
        bind: {
            value: '{value}',
        },
        fieldStyle: 'font-weight:bold;'
    }]
});

Какая альтернатива для ExtJS 4?

1 Ответ

0 голосов
/ 29 июня 2018

ViewModels были введены в Ext JS 5, поэтому он не работает в Ext JS 4.

Чтобы сделать это в Ext JS 4, вам нужно найти компонент (в данном случае textareafield), а затем выполнить установщик (setValue для этого примера). Это все руководство в Ext JS 4.

Получение компонента зависит от многих вещей, но лучший способ - использовать ComponentQuery и зависит от того, где будет выполняться код. Сначала вам нужно получить экземпляр test.text, а затем использовать comp.child('textareafield'). Я не могу привести вам пример «серебряной пули», так как он зависит от многих факторов, но использование компонентов down, child, query, up - хорошее начало, и все они имеют разные цели.

...