ExtJS无法为时域组件

时间:2016-03-16 21:41:31

标签: javascript extjs timefield

我一直试图找到解决问题的方法,但是我无法在Google和S.O中找到它,这就是我发布此问题的原因。

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

{
            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'
        },

我正在做的很简单,实际上,我正在尝试根据来自服务器的实体为字段设置值。我已经设法检索具有两个字段的实体:'hour'和'minute',我想将连接值设置为两个组件,但由于某种原因,它总是显示为空白。这是我为实现设置值而实现的代码:

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但使用// If the parent is a viewpager if (parentIsViewPager) { // Retrieve the view's layout informations specific to viewpagers ViewPager.LayoutParams layoutParams = (ViewPager.LayoutParams) getLayoutParams(); Log.i("Test","layoutParams.width = " + layoutParams.width); } // If the parent is not a viewpager (mainly a viewgroup) else { // Retrieve the view's layout informations for a viewgroup ViewGroup.LayoutParams layoutParams = getLayoutParams(); Log.i("Test","layoutParams.width = " + layoutParams.width); } 但不起作用,时间字段始终显示为空白。

ExtJS的版本是4.2.3

提前致谢。

1 个答案:

答案 0 :(得分: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];