单击 numberfield后,如失去焦点后非数字部分消失问题的解决办法
1 问题描述
当需要使用 extjs 的 numberfield,但需要对文本框中的值进行设定的时候,就需要用到 setRawValue, 但通过此种方法设定的值,在点击文本框后,取消焦点后,文本框中的内容会变成纯数字,var pageContainer = Ext.create('Ext.container.Container', {
renderTo: Ext.getBody()
});<pre name="code" class="javascript">
pageContainer.add({ xtype: 'numberfield',itemId: 'numberfield',validateOnBlur: false,validateOnChange: false,hideTrigger: true});var component = pageContainer.getComponent("numberfield");component.setRawValue('123.789 kV');
点击文本框,再点击其他元素,文本框的内容将变成 123.789.
2 解决办法
在调用 setRawValue 前,应调用 clearListeners(). 注意当前的测试版本为 extjs4.0.7. 示例代码如下:
component.clearListeners();
component.setRawValue('123.789 kV');