ExtJS не может установить значение для компонента временного поля

Я пытался найти подход к решению этой проблемы, но не смог найти ее ни в Google, ни в SO, поэтому я публикую этот вопрос.

У меня есть два компонента типа: timefield, которые представлены в этом фрагменте кода:

{
            xtype: 'timefield',
            format: 'H:i',
            increment: 30,
            name: 'shiftStartTime',
            itemId: 'shiftStartTime',
            fieldLabel: 'Shift Start Time',
            required: true,
            value: '00:00'                
        }, {
            xtype: 'timefield',
            format: 'H:i',
            increment: 30,
            name: 'shiftEndTime',
            itemId: 'shiftEndTime',
            fieldLabel: 'Shift End Time',
            required: true,
            value: '00:00'
        },

То, что я делаю, на самом деле просто, я пытаюсь установить значение для полей на основе сущности, которая поступает с сервера. Мне уже удалось получить объект, который имеет два поля: "час" и "минута", я хочу установить объединенное значение для обоих компонентов, но по какой-то причине оно всегда отображается пустым. Вот фрагмент кода, который я реализовал, чтобы установить значение:

setPreEnteredTimes: function(userProfileItem) {
    var me = this,
        shiftStartTimeComp = me.getItem('shiftStartTime'),
        shiftEndTimeComp = me.getItem('shiftEndTime'),
        hh = userProfileItem.get('hour'),
        mm = userProfileItem.get('minute');


    var displayStr = hh + ':' + mm;

    shiftStartTimeComp.setValue(displayStr);

    shiftEndTimeComp.setValue(displayStr);


},

Я уже пытался даже создать new Date и используя Ext.Date.format() с помощью H:i но не работает, поле времени всегда отображается пустым.

Версия ExtJS - 4.2.3

Заранее спасибо.

1 ответ

Там нет ничего плохого в сроках и .setValue(), Я уверен, что вы получите ошибку, как me.getItem(...) is not a function на консоли. Вот скрипка с примером: https://fiddle.sencha.com/

замещать me.getItem() с таким компонентным запросом (включенным в скрипту):

var shiftStartTimeComp = Ext.ComponentQuery.query('timefield[name="shiftStartTime"]', me)[0];

Другие вопросы по тегам