我有一个带有文本字段的表单,它有一个触发器来搜索输入的文本。 我想允许用户只键入其中的数字,并允许用户键入他想要的全部金额,并在用户完成输入时将其渲染为数字格式(0.000000)。就像我们在网格列中使用渲染器一样。我怎样才能在表格中实现这一目标。 我试过这种方式
{
xtype: 'textfield',
bind: {
value: {
bindTo: '{salesPriceValue}',
twoWay: false
},
//disabled: '{!customerPartFilled}',
//disabled: '{disableSalesPrice}',
mode: '{currentHeader.adjustmentTypeId}',
readOnly: '{!securityAccessDetailForm}',
hideTrigger: '{hideSalesTrigger}'
},
fieldLabel: 'Sales Price',
reference: 'salesPrice',
// maskRe: /[0-9.-]/,
regex: /^\-*\d+(\.\d{1,6})?$/,
flex: 1,
// hideTrigger: true,
checkChangeBuffer: 550,
checkChangeEvents: ['keyup'],
setMode: function(mode) {
FACTT.app.setComponentMode(this, mode);
},
listeners: {
change: 'onSellingPriceChange'
},
triggers: {
mytrigger: {
handler: 'onSellingPriceLookup',
cls: 'x-form-search-trigger'
}
}
in view model
salesPriceValue: {
bind: {
Price: '{currentDetail.salesPrice}'
},
get: function(data) {
if(Ext.isEmpty(data.Price) || data.Price === 0 ){
return Ext.util.Format.number(data.Price, "0.000000");
}
else{
return data.Price;
}
// return Ext.util.Format.number(data.Price, "0.000000");
}
}
但如果用户输入30,我无法以数字格式显示。