在制作业务时,需要填充相关费用,可以利用Ext.util.format去将numberfield控件渲染成金额的格式。具体效果如下:
实现方法:
Ext.define('Money', {
extend: 'Ext.field.Number',
xtype: 'moneyfield',
onFocusLeave: function(event) {
var me = this;
me.callParent(arguments);
me.setInputValue(Ext.util.Format.number(me.getValue(), '0,000.00'));//失焦时渲染格式
},
onFocusEnter: function(event) {
var me = this;
me.callParent(arguments);
me.setInputValue(me.getValue());//变回可输入的格式
},
});
改进了一下:
通过有无聚焦的判断,来控制显示为数值,还是金额格式的字符
Ext.define('Money', {
extend: 'Ext.field.Number',
xtype: 'money