有一组material-ui/build
:
items
我需要将日期时间值设置为此文本字段:
items: [{
fieldLabel: 'Username:',
id: 'usernameID',
readOnly: true,
value: user.username,
name: "username"
}]
从日期开始,我获得了datetime的价值。但在设定我的时候:
未捕获的TypeError:无法读取属性' setValue'未定义的
答案 0 :(得分:1)
您的商品中未定义xtype。您是否使用项目的默认xtype?您的文本字段或其他内容是否已呈现?
此代码功能正常:
items: [{
xtype: 'textfield',
id: 'myCustomId',
fieldLabel: 'Label',
name: 'username',
value: 'something',
readOnly: true
}, {
xtype: 'button',
handler: function (button, e) {
var cmp = Ext.getCmp('myCustomId');
cmp.setValue(Ext.Date.format(new Date(), 'Y-m-d'))
},
text: 'Set the value'
}]
查看小提琴 https://fiddle.sencha.com/#view/editor&fiddle/1m7f
如果这不能帮助您发布代码的更多部分。
答案 1 :(得分:0)
首先使用xtype
属性定义对象的类型。之后,您需要获得要设置的date
。在此示例中,我使用 ExtJS datepicker
来获取日期,但您也可以使用new Date()
。
获得日期后,您需要使用format
函数对其进行格式化,然后使用此格式化值set
对象进行格式化。在这个例子中,我使用了两种格式Y-d-m
(年,月和日)和d-m-Y
(日,月和年)。有关格式访问this link的更多信息。
要在其他版本的ExtJS中测试,请访问this fiddle。
Ext.create('Ext.window.Window', {
title: 'Set Date',
closable: false,
width: 500,
layout: 'vbox',
bodyStyle: 'padding: 5px;',
items: [{xtype: 'container',
layout: {
type: 'hbox',
align: 'stretch'
},
items: [{
xtype: 'datepicker',
minDate: new Date(),
bodyStyle: 'padding-left: 50px;',
handler: function(picker, date) {
Ext.getCmp('txtDate1').setValue(Ext.Date.format(date, 'Y-m-d'));
Ext.getCmp('txtDate2').setValue(Ext.Date.format(date, 'd-m-Y'));
}
}, {
xtype: 'container',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [{
xtype: 'textfield',
fieldLabel: 'Date 1:',
labelAlign: 'right',
id: 'txtDate1',
width: 200
}, {
xtype: 'textfield',
fieldLabel: 'Date 2:',
labelAlign: 'right',
id: 'txtDate2',
width: 200
}]
}]
}]
}).show();

<script src="http://cdn.sencha.com/ext/gpl/4.2.0/ext-all.js"></script>
<link type="text/css" rel="stylesheet" href="http://cdn.sencha.com/ext/gpl/4.2.0/resources/css/ext-all.css")/>
&#13;