这样的数字字段
xtype : 'numberfield',
fieldLabel : 'this is a label',
id : 'id',
name : 'id',
width : 50,
labelStyle : 'width:300px',
minValue : 1,
hideTrigger : true,
allowNegative : false,
maxValue : 7,
decimalPrecision : 1,
allowPureDecimal : true,
editable : true,
allowBlank : false
接受数字1、1.1、3.5 ... 7
但是我也需要接受0 。 extjs中是否存在异常等属性或允许输入0以及已建立的最小值和最大值的属性?
如果有人可以指导我,我将不胜感激
感谢您的时间!
答案 0 :(得分:0)
我认为没有属性可以执行此操作,但是您可以注册一个更改侦听器,并检查 newValue参数是否在0和1之间。因此,将numberfield的值设置为零。
listeners: {
change: function (component, newValue, oldValue) {
if (newValue > 0 && newValue < 1)
component.setValue(0);
}
}
答案 1 :(得分:0)
删除minValue
和maxValue
配置,然后使用validator配置设置自定义验证功能。
xtype: 'numberfield',
fieldLabel: 'this is a label',
id: 'id',
name: 'id',
hideTrigger: true,
allowNegative: false,
decimalPrecision: 1,
allowPureDecimal: true,
editable: true,
allowBlank: false,
validator() {
value = this.getValue();
if (value === 0 || (value >= 1 && value <=7)) {
return true;
}
return 'Not valid';
}