当我将#formatNumber('00%')应用于创建表单中的字段(例如20%)时,模型中保存的实际值为20,而不是预期的0.2。
我有一个创建形式的字段,它是一个百分比的百分比,为此我将值设置为@widget.datasource.ratio#formatNumber('00%')
,这迫使用户输入一个百分比并以百分比显示值,但是我发现模型中保存的值是百分比之前的数字,例如当用户输入20%时,数据库中保存的数字20而不是20%。
到目前为止,看来百分比模式下的#formatNumber('00%')仅可用于读取模式下以百分比形式显示数字,例如。对于数据库中的数字0.2,在应用该转换器时,可以在表中显示为20%。
如何使用#formatNumber强制输入百分比并将实数/值保存在数据库中?还是有针对这种情况的最佳实践?
谢谢。
答案 0 :(得分:0)
您可以通过一系列转换在创建记录之前更改输入的值。 在“ onClick”中表单的“提交”按钮上进行自定义操作:
widget.root.descendants.Field.value = ((parseFloat(widget.root.descendants.Field.value.toString().replace("%","")))/100).toString()+"%";
widget.datasource.createItem();
用输入名称替换所有“字段”。