只是一个简单的问题,在我们定义如下组件时,是否可以调用ExtJS函数来设置默认值?因为,当我在下面尝试时,该函数不会赋值。
{
xtype: 'textfield',
fieldLabel: 'DNR TYPE',
name: 'DNR_TYPE,
value: Ext.getCmp('dnr-type').getRawValue()
// here is the function that I want to call and assign the value
}
编辑:
亲爱的朋友们,我发现了与表单渲染相关的问题。应用程序启动时,表单使用默认值初始化。因此,字段值返回空。当用户从组合框中选择一条记录时,我应该将该值分配给相关的文本字段。
现在,当用户从表单中选择一条记录时,是否有任何方法可以再次刷新/重新加载表单?
答案 0 :(得分:0)
只要Ext.getCmp('dnr-type')。getRawValue()返回一个可能的字符串......
答案 1 :(得分:0)
您可以尝试的一个解决方案是:
{
xtype: 'textfield',
fieldLabel: 'DNR TYPE',
name: 'DNR_TYPE,
listeners: {
beforerender: function() {
this.setValue(Ext.getCmp('dnr-type').getRawValue());
}
}
}
如果Ext.getCmp('dnr-type').getRawValue()
返回值,则会将其分配给textfield,否则如果为空字符串,则textfield将包含空白值,您将无法在textfield中查看值。
当用户从组合框中选择一条记录时,我应该将该值分配给相关的文本字段。
---->您可以更改select
combo
事件的文本字段值,如:
{
xtype: 'combo'
displayField: 'foo',
valueField: 'bar',
lsiteners: {
select: function( combo, records) {
var rec = records[0]; // records will contain selected records(1 or more)
var textField = // get textfield using Ext.getCmp()
textField.setValue(rec.get('modelName'));
}
}
}
现在,当用户从表单中选择一条记录时,是否有任何方法可以再次刷新/重新加载表单?
---->我不清楚这一点。如果你告诉我这个场景,我可以帮你解决这个问题