0

我正在阅读有关数据绑定语法(SAPUI5)的教程。以下是数据绑定到 oData 模型的示例:

    <Input value="{
                    path: '/number',
                    type: 'sap.ui.model.type.Integer',
                    formatOptions: {
                                     minIntegerDigits: 3
                                   },
                    constraints: {
                                   maximum: 1000
                                 }
                  }"/>

所以,问题是:那些“路径”、“类型”、“格式选项”、“约束”代表什么?我的意思是,我意识到 - 这些是一些绑定属性。Input 控件的 value 属性是一个字符串。因此,绑定属性将在控件内部的某处进行解析和解释,但它们在语义上不是控件的一部分。那么,是一些 oData 语法/属性,还是什么?你知道我在哪里可以得到所有可能的选择吗?

4

2 回答 2

1

根据给定的类型,不同的约束和格式选项是可能的。在您的情况下,类型是整数/数字。

一般属性绑定的可能参数在抽象类sap.ui.base.ManagedObject中定义。

Integer 类型的可能约束和格式选项在类sap.ui.model.type.Integer中定义。

数字(以及整数)的可能格式选项在类sap.ui.core.format.NumberFormat中定义。

于 2019-10-07T08:20:30.633 回答
0

属性绑定

属性绑定允许控件的属性从模型数据中自动初始化和更新。

要在控件上定义属性绑定,存在以下两个选项:

  1. 在控件构造函数的设置对象中
  2. 使用控件的bindProperty方法

一旦定义了属性绑定,每次绑定的模型属性值更改时,该属性都会自动更新。

定义属性绑定的最方便方法(在大多数情况下就足够了)是将大括号内的绑定路径作为字符串文字包含在设置对象中:

var oTextField = new sap.ui.commons.TextField({
    value: "{/company/name}"
});

或者(我认为这是您所要求的),您可以使用扩展语法进行属性绑定。此扩展语法允许您定义要包含在设置对象中的附加绑定信息,例如格式化程序函数。在这种情况下,您使用 JS 对象而不是字符串文字。这必须包含一个包含绑定路径的路径属性,并且可以包含其他属性:

var oTextField = new sap.ui.commons.TextField({ value: { path: "/company/name", mode: sap.ui.model.BindingMode.OneWay, formatter: .myFormatterFn } }); 这将触发控制器上的 myFormatterFn 函数,并且返回的值将附加到 textFiled。

而不同的类型可以是以下之一:

  • sap.ui.model.type.Boolean
    此类表示布尔简单类型。

  • sap.ui.model.type.Currency
    此类表示货币复合类型。

  • sap.ui.model.type.Date
    此类表示日期简单类型。

  • sap.ui.model.type.DateInterval
    此类表示日期间隔复合类型。

  • sap.ui.model.type.DateTime
    此类表示日期时间简单类型。

  • sap.ui.model.type.DateTimeInterval
    此类表示 DateTime 间隔复合类型。

  • sap.ui.model.type.FileSize
    此类表示文件大小简单类型。

  • sap.ui.model.type.Float
    此类表示浮点简单类型。

  • sap.ui.model.type.Integer
    此类表示整数简单类型。

  • sap.ui.model.type.String 此类表示字符串简单类型。

  • sap.ui.model.type.Time
    此类表示时间简单类型。

  • sap.ui.model.type.TimeInterval
    此类表示时间间隔复合类型。

  • sap.ui.model.type.Unit
    此类表示 Unit 复合类型。

您可以在构造函数中为每个SimpleType生成以下参数:

格式选项:格式选项定义值在 UI 中的格式和显示方式。

约束:约束是可选的,用于定义在 UI 中输入的输入值的外观。在解析期间,根据这些约束验证值。例如,String 类型具有 maxLength 和 minLength 的约束,在解析输入值时会自动验证这些约束。

请查看此文档,它可能会阐明您的问题

于 2019-10-06T17:17:51.157 回答