问题:
在ExtJS中的form表单中有一个combobox组件,当它的显示值(displayField)和提交的值(valueField)不一样的时候,(我在项目中的情况是当表单提交成功后form表单窗口会隐藏掉,提交的值会在ExtJS的grid的列表中显示,之后在grid中双击该行记录,重新显示之前form表单窗口,并将值显示到form中,表单中的combobox组件显示的值为valueField的值,而不是displayField的值)。
解决方法:
对该combobox组件的valueField和displayField重新设置值,方式为combobox.setValue(valueField)和combobox.setRawValue(displayField)。问题就解决了。
注意: 若值设置displayField,而valueField没有设置,提交表单时向后台提交的数据为displayField的值。
combobox.getValue()得到的是valueField的值;
combobox.getRawValue()得到的是displayField的值。