2016-03-16 4 views
0

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

У меня есть два компонента типа: 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, но не работает, то TIMEFIELD всегда отображать пустым.

версия ExtJS является 4.2.3

Спасибо заранее.

ответ

0

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

Заменить me.getItem() с компонентом запросом, как это (входит в скрипке):

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

+0

Я не получаю никакого яваскрипт сообщения (ни выходной сигнала тревоги, ни консоли) ссылаясь на undefined на метод getItem(), так как я работаю над какой-то структурой, которую я реализовал для своих компонентов представления. Во время отладки «getItem()» всегда возвращает компонент поля времени без проблем. Я уже пробовал подход ComponentQuery, но он не работает. Благодарю. –

Смежные вопросы