具有不同计量单位的输入字段

Input field with different unit of measure

我在我的 JSONMODel 中归档了一个模型。字段名称 id LENGTH_M(长度以米为单位)

在我的应用程序中,我使用(查看和 编辑)它到两个位置(两个输入 https://openui5.hana.ondemand.com/docs/api/symbols/sap.m.Input.html

我想在两种情况下都在模型中插入值 2(以米为单位) 如果我想用相同的模型绑定第一个和第二个输入,我该怎么做 属性 LENGTH_M ?

DateTimeInputhttps://openui5.hana.ondemand.com/explored.html#/entity/sap.m.DateTimeInput/properties有一个很好的属性displayFormat。我可以用它来显示不同模式下的 属性 模型。输入组件中有类似的东西??

我试过使用格式化程序,但它似乎不起作用...

是的,这是可能的。您需要在绑定中使用类型。 基本上 "type" 与绑定的两端相关联,进行与模型之间的转换。

您可以创建自己的绑定,例如,您可以在模型中存储以毫米为单位的值。米输入将使用自定义绑定类型,显示模型中值的 1/100(并将值 *100 存储在模型中)。

More info


编辑: 这是一个例子:

sap.ui.model.SimpleType.extend("Company.ui.model.type.LengthMeters", {
    formatValue: function(oValue) {
        return oValue/100;
    },
    parseValue: function(oValue) {
        return oValue*100;
    },
    validateValue: function(oValue) {}
});

应该是这样的。 你把这段代码放在任何地方,可以是一个新文件,你 sap.ui.require() 它,或者如果你只在那里使用它,它可以在视图中。