这似乎在许多不同的时间得到回答,但我似乎无法让它与我的实现一起工作。我正在尝试格式化和限制 sap.m.Input 元素中的数据。我目前有以下几点:
var ef_Amount = new sap.m.Input({
label: 'Amount',
textAlign: sap.ui.core.TextAlign.Right,
value: {
path: '/amount',
type: 'sap.ui.model.type.Currency'
}
});
第一个问题是它破坏了数据绑定。当我检查提交给服务器的原始数据(使用 Fiddler)时,它是一个这样的数组:
"amount": [1234.25,null]
服务器需要一个数字,因此数组存在问题。
当我使用以下内容时,绑定会按需要工作,但不会执行任何格式设置。
var ef_Amount = new sap.m.Input({
label: 'Amount',
textAlign: sap.ui.core.TextAlign.Right,
value: '{/amount}'
});
第二个问题是输入的数据不限于数字。
我曾尝试使用 sap.m.MaskedInput 代替,但我不喜欢使用占位符,因为我从不知道要输入的数字的大小。
最后,如果当焦点放在输入字段上时,所有格式都被删除并在焦点丢失时重新格式化会很好。
我应该考虑使用 jQuery 甚至原始 Javascript 来做这件事吗?
感谢您的关注。
我建议分别使用金额和货币。可能应该只允许用户输入有效货币,因此您可以使用包含可用货币建议的组合框。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句