我使用 Sencha Architect 创建项目 Sencha touch 2 lib。 如何在仅接受号码字段
上添加掩码格式(美国电话号码掩码)例如,当用户输入
时1234567890
,它应该显示
123-456-7890或(123)456-7890
当我尝试使用数字字段时,它可以帮助过滤仅接受数字但是当我将数字字段的值设置为123-0001时,它只会显示122,因为它会减去123和1
请帮忙。谢谢。
答案 0 :(得分:2)
Touch有一个很棒的设施,您可以根据自己的需要使用它。看看Class System description,它的第一部分讨论了setName()用法
简而言之,每个配置条目都有相应的apply()和update()函数,该函数用于所有代码库
EDIT 在您的情况下,您需要定义一个新类,将其命名为PhoneText
Ext.define('MyApp.ux.field.PhoneText', {
extend: 'Ext.field.Text',
xtype: 'phonetextfield',
applyValue: function(value) {
var ext = getExt(value),
partOne = getPartOne(value),
partTwo = getPartTwo(value);
return Ext.String.format('(%s) %s-%s', ext, partOne, partTwo)
}
}
只需使用您自己的版本applyValue函数,该函数将输入值转换为您的格式。
请注意,在面板定义中,您应该使用xtype:'phonetextfield',而不是'textfield',并添加要求:['MyApp.ux.field.PhoneText']。
答案 1 :(得分:0)
你可以使用spinnerfield,它也会允许角色并掩盖它,然后在你做的时候设置值。