1

只是一个简单的问题,当我们定义一个像下面这样的组件时,是否可以调用 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
}

编辑 :

亲爱的朋友,我发现了与表单渲染有关的问题。应用程序启动时,使用默认值初始化表单。因此,该字段值返回空。当用户从组合框中选择一条记录时,我应该将该值分配给相关的文本字段。

现在,当用户从表单中选择记录时,是否有任何方法可以再次刷新/重新加载表单?

4

2 回答 2

0

只要 Ext.getCmp('dnr-type').getRawValue() 返回一个字符串,它就可能......

于 2013-09-11T09:22:34.920 回答
0

您可以尝试的一种解决方案是:

{
  xtype: 'textfield',
  fieldLabel: 'DNR TYPE',
  name: 'DNR_TYPE,
  listeners: {
    beforerender: function() {
       this.setValue(Ext.getCmp('dnr-type').getRawValue());
    }
  }
}

如果Ext.getCmp('dnr-type').getRawValue()返回值,它将分配给文本字段,否则如果它是空白字符串,则文本字段将包含空白值,您将不会在文本字段中看到值。

编辑:

当用户从组合框中选择一条记录时,我应该将该值分配给相关的文本字段。

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'));
       }
    }
}

现在,当用户从表单中选择记录时,是否有任何方法可以再次刷新/重新加载表单?

----> 我不清楚这一点。如果你告诉我这个场景,也许我可以帮你解决这个问题

于 2013-09-11T09:45:29.720 回答