单击 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');





posted @ 2014-08-21 17:19  lvye1221  阅读(5)  评论(0编辑  收藏  举报