Отображать значение текстового поля в поле отображения

У меня есть текстовое поле и поле отображения. Я хочу, чтобы пользовательское значение текстового поля отображалось в поле отображения. Как я могу это сделать?

Мой код выглядит следующим образом:

{
    xtype: 'textfield',
    fieldLabel: 'Textfield',
    allowblank: false            
}, {
    xtype: 'displayfield',
    fieldLabel: 'Textfield Value',
    value: 'textfieldValue'
}

person Community    schedule 24.05.2017    source источник
comment
Вам нужен слушатель в текстовом поле. это очень просто   -  person Sandy.Arv    schedule 24.05.2017
comment
@ Sandy.Arv, не могли бы вы объяснить мне, как это сделать? Я новичок в extjs и программировании. Ваша помощь будет оценена по достоинству.   -  person    schedule 24.05.2017
comment
У вас нет модели представления? Нет нужды в слушателе. Напрямую привяжите одно и то же значение к обоим.   -  person Harshit Shah    schedule 24.05.2017
comment
Вы можете использовать модель/привязку данных extjs без какого-либо слушателя (как и angularjs)   -  person Tejas    schedule 24.05.2017


Ответы (1)


Самой быстрой реализацией будет слушатель в текстовом поле:

listeners: {
    change: function(field, newValue) {
        field.nextSibling().setValue(newValue)
    }
}

Или вы используете viewModel в родительском контейнере и привязываете значение, это улучшает возможность повторного использования:

xtype:'panel',
viewModel:{
},
items:[{
    xtype: 'textfield',
    fieldLabel: 'Textfield',
    allowBlank: false,
    bind: {
        value: '{value}'
    }
},{
    xtype: 'displayfield',
    fieldLabel: 'Textfield Value',
    bind: {
        value: '{value}'
    }
}]

Скрипка с обеими реализациями: https://fiddle.sencha.com/#view/editor&fiddle/206o

person Alexander    schedule 24.05.2017