extjs numberfield有一个maxValue属性,适用于微调器(向上/向下按钮),但不会阻止无效的键盘输入。我想保留键盘输入,但是我想强制使用正确的值而不必在线下进一步标记。
在onchange处理程序中,我针对maxValue验证newValue并将其设置回maxValue,但是我必须在控件上使用setValue来更新它。这会触发另一个onchange事件。有一些基于onchange事件的逻辑现在会被触发两次。
我可能正在寻找两种解决方案之一: - 1:能够在不触发onchange事件的情况下更新控制值 - 2:使用一些内置的numberfield属性强制输入的值回到最大值
答案 0 :(得分:1)
setRawValue(对象值)应该不用触发事件,或者你可以暂停数字字段上的事件
numberfield.suspendEvents( false );//suspend
numberfield.setValue(val); //set value
numberfield.resumeEvents( );//resume events