关于sap:SAP-UI5-数据类型data-type-学习笔记

4次阅读

共计 1146 个字符,预计需要花费 3 分钟才能阅读完成。

SAPUI5 中的数据类型用作验证用户输出的机制(例如,“hello”不是订单数量的可承受值),并确保数据在 UI 上被正确格式化和显示(例如将 1234567 显示为 1,234,567 须要时)。当与反对 双向绑定 的数据模型联合应用时——这是应用它们的最佳形式——数据类型确保模型中的数据只有在用户提供有效值时才会更新。

用户输出验证也能够通过在事件处理程序中为每个输出字段编写验证逻辑来实现;能够通过在任何显示值的中央编写和应用格式化程序来格式化显示的值。但显然,这种办法不具备可扩展性——随着应用程序的增长,维持应用这种办法实现的开发所需的工作量会迅速减少。

SAPUI5 框架附带了一些能够在应用程序中应用的罕用数据类型。这些包含布尔值、日期和浮点数。能够通过指定束缚和格局选项来调整应用数据类型的绑定的行为。束缚(如 Float 的最小值和最大值)可用于限度被认为无效的值的范畴。任何违反束缚的用户输出都被认为是有效输出,模型中的相应门路将不会被更新。另一方面,指定格局选项以配置特定值应如何在 UI 上显示(如 Float 的 groupingSeparator 和 decimalSeparator)。模型中对应门路的值在显示前会依据类型的格局选项进行格式化。此外,用户还能够输出带格局(如 12,345)或不带格局(12345)的输出,这两者都被认为是无效的。

下图是 SAP UI5 规范的 Integer 数据类型及其 constraints 在 XML 视图中的用法:

如何创立一个 SAP UI5 自定义数据类型?

为了开始创立自定义数据类型,咱们扩大了 sap.ui.model.SimpleType 类并笼罩了 SimpleType 父类中定义的 3 个办法——parseValue、validateValue 和 formatValue.

parseValue(sExternalValue)

该办法接管用户的输出作为参数。该办法的工作是将用户的输出值(内部格局)转换为值的适合的外部示意(外部格局)。

validateValue(sInternalValue)

此办法接管解析的值(即,由 parseValue 办法确定的值的外部示意)并且必须确定该值是否无效。如果确定输出有效,则应在此办法中抛出 sap.ui.model.ValidateException 类型的异样。

formatValue(sInternalValue)

该办法接管解析后的值(外部值)作为参数,并且必须返回一个格式化的值(即对应的内部值)。此格式化值显示在 UI 上。

在咱们开始实现咱们的自定义数据类型之前,让咱们疾速看看框架何时调用这 3 个办法中的每一个。从图中咱们能够看出,框架触发这 3 个办法的程序是 parseValue() -> validateValue() -> formatValue()。

正文完
 0