5

我需要使用 numberfield 为用户输入数字。当我设置字符串“123,555”时,它只显示 123 到 numberfield。但如果我使用文本字段,它会按预期工作。我用它进行千次分离。

xtype: 'numberfield',
itemId: 'payment1',
cls : 'txtAlignRight',
flex : 4,
value:'0',
autoComplete: false,
autoCorrect: false,
clearIcon: false,
originalValue: true,
required: true,
maxLength: 15,

//------------------
num.setValue('123,555')
//result = 123

有什么解决办法吗?提前致谢。注意:我使用 sencha extjs 6 现代。

4

3 回答 3

1

更改允许使用的字符。您可能想更改这些属性
这些属性的工作方式在这里

  1. autoStripChars:假,
  2. disableKeyFilter: 真
  3. stripCharsRe: 假
  4. maskRe: 假

听起来您需要将格式添加到数字字段。

这是一个覆盖,将useThousandSeperator添加到数字字段

Ext.util.Format

于 2017-11-01T02:31:46.320 回答
1

您可以使用setRawValue()数字字段的方法。这将绕过您在使用 setValue() 时获得的所有转换和验证。

文档: http ://docs.sencha.com/extjs/4.2.1/#!/api/Ext.form.field.Number-method-setRawValue

示例: https ://fiddle.sencha.com/fiddle/1iuu/preview

这只会设置值,不会像现在这样使用按钮来增加/减少。

于 2016-10-20T20:22:49.293 回答
0

数字字段仅允许数字(0-9 和“。”)如果您仍想在数字字段中允许“,”,则可以通过以下属性进行设置。

基本字符:'0123456789,'

于 2016-10-19T06:13:49.477 回答