格式化正式的表单域

时间:2018-10-23 12:34:45

标签: angularjs angular-formly

当数据最终更新模型时,我想格式化一个字段。该数字通常返回一个小数点,因此我想做的就是将其格式化为没有小数点的数字(parseNumber函数可以做到这一点)。

例如vm.model.total = 34.54

我要将这个数字的格式设置为34 on the fly

我无法正常工作...

vm.fields = [
    {
        className: 'row',
        fieldGroup: [
            {
                className: 'col-xs-12',
                key: 'total',
                type: 'input',
                    templateOptions: {
                    wrapperClass: 'row',
                    labelClass: 'col-xs-9 col-sm-3',
                    dataClass: 'col-xs-3 col-sm-2 col-sm-offset-right-7',
                    label: 'Total',
                    disabled: true
                },
                formatters: [parseNumber(vm.model.total, 0)]
             }
        ]
    }
];

1 个答案:

答案 0 :(得分:0)

您的示例与examples in the documentation

不匹配

您对formatters字段的参数不正确。该字段需要一个函数,而不是函数的结果,这就是您在此处定义的。

您应该使用匿名函数或命名函数:

formatters: [function(value){ return parseNumber(value, 0); }]

formatters: [removeDecimal]
//...

function removeDecimal(value) {
  return parseNumber(value, 0)
}

这是他们自己的文档中的一个有效示例,我已在“姓名”字段中添加了格式化程序:https://jsbin.com/hapuyefico/1/edit?html,js,output