0

我一直在尝试找到一种方法来解决我遇到的问题,但我在 Google 和 SO 中都找不到它,这就是我发布这个问题的原因。

我有两个类型的组件:这段代码中表示的时间字段:

{
            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()usingH:i但不起作用,时间字段始终显示为空白。

ExtJS 的版本是 4.2.3

提前致谢。

4

1 回答 1

0

timefields 和.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];

于 2016-03-16T22:08:29.683 回答