Как динамически установить значение fieldLabel в ExtJS? - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу добиться ситуации, когда мои значения fieldLabel поступают из магазина.В хранилище есть нужные мне значения, но я не могу понять, как установить эти значения в fieldLabel.

Допустим, у меня есть какой-то блок:

items: [{
  name: 'someName',
  fieldLabel: 'someFieldLabel'
}]

someName в поле имени приходит из хранилища и работает как положено.

someFieldLabel значение в поле fieldLabel присутствует в хранилище, но оно показывает буквально 'someFieldLabel', а не значение из хранилища.

Любые предложения, как сделать это динамически работать со значениями из хранилища?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Ниже приведен код из скрипта о том, как динамически изменять fieldLabel.

Ext.application({
    name : 'Fiddle',

    launch : function() {
        Ext.create('Ext.panel.Panel', {
            title: 'Dynamic Set Field Label',
            layout: 'vbox',
            renderTo: Ext.getBody(),
            items: [{
                xtype: 'textfield',
                itemId: 'lblItem',
                fieldLabel: 'Testing',
                margin: '0 0 20 0'
            }, {
                xtype: 'button',
                text: 'Set Field Label',
                handler: function (btn) {
                    // alert('button presssed');
                    Ext.ComponentQuery.query('#lblItem')[0].setFieldLabel('New Label');
                }
            }]
        })
    }
});

Вы можете видеть, как он работает здесь .

Примечание. Использование Ext.ComponentQuery возвращает массив объектов, отвечающих требованиям запроса.Вам нужно указать индекс для получения одного объекта.

store.load({
  callback: function (records) {
    Ext.ComponentQuery.query('#lblItem')
  }
})
0 голосов
/ 22 апреля 2019
items: [{
  itemId: 'someField'
  name: 'someName',
  fieldLabel: 'someFieldLabel'
}];

при функции загрузки магазина

 var somefield = Ext.ComponentQuery.query('field[itemId=someField]');
    somefield[0].setFieldLabel('dynamic_field_label');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...