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];