使用sap.m.DateTimePicker
,用户可以从下拉列表中选择值或手动输入值。我想知道是否可以在手动输入框中添加与valueFormat
的{{1}}匹配的掩码。
我知道那里还有一个DateTimePicker
,所以也许可以将这两个元素结合起来。
答案 0 :(得分:2)
有一个名为sap.m.MaskEnabler的新私有模块,应该使用sap.m.InputBase(即DateTimePicker)。
(MaskEnabler)应该应用于
的原型sap.m.InputBase
。
屏蔽功能目前仅在sap.m.TimePicker(v1.54)中启用。但是,根据this commit消息,相同的功能也会到达日期(时间)选择器:
此更改准备重构DatePicker和TimePicker,以便进行重构 两个选择器的公共代码可以移动到一个新的公共控件 他们可以延长。
因此,如果它不紧急,并且根据你的项目,我不会创建一个新的自定义控件,然后在面具功能到达后将其丢弃。
我会在可用时更新我的答案。
在此之前(甚至之后),您仍然可以指导用户通过OData绑定类型sap.ui.model.odata.type.DateTime
以正确的格式输入数据:
<DateTimePicker
value="{
path: 'myODataModel>myDateTime',
type: 'sap.ui.model.odata.type.DateTime',
constraints: {
isDateOnly: true,
displayFormat: 'Date'
}
}"
minDate="{...}"
maxDate="{...}"
/>
formatter
,type
允许我们保持双向数据绑定。parseError
)constraints
被违反(触发validationError
)如果您enable handling UI messages 此外,框架将负责创建适当的 用户留言:
答案 1 :(得分:0)
我认为将两个sap.m.DateTimePicker和sap.m.MaskInput结合起来的唯一方法是开发自己的控件。文档:https://sapui5.hana.ondemand.com/#/topic/91f1703b6f4d1014b6dd926db0e91070。
另一种方法是只使用DateTimePicker输入字段的占位符。这不提供与MaskInput相同的功能,但在手动输入时,可以帮助用户在输入中预期valueFormat。
答案 2 :(得分:-1)
如果输入框中有绑定,则可以将绑定中的类型设置为eg。 sap.ui.model.type.Date。这样,当触发字段验证时,您会获得一些自动格式化。还有其他类型可用,您可以从sap.ui.model.SimpleType继承来编写自己的代码。