我一直试图找到解决问题的方法,但是我无法在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
提前致谢。
答案 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];