2
我想为自定义控件创建自定义枚举类型,如https://sapui5.hana.ondemand.com/docs/api/symbols/sap.ui.core.ValueState.html#.Error。创建自定义ENUM类型
我的问题是:
我如何创建一个ENUM类型?
在自定义控件上,您将只能正确传递ENUM
类型。如果给定的ENUM有效或无效,我如何验证?
我想为自定义控件创建自定义枚举类型,如https://sapui5.hana.ondemand.com/docs/api/symbols/sap.ui.core.ValueState.html#.Error。创建自定义ENUM类型
我的问题是:
我如何创建一个ENUM类型?
在自定义控件上,您将只能正确传递ENUM
类型。如果给定的ENUM有效或无效,我如何验证?
通过定义枚举开始关闭...
MessageType.js
sap.ui.define([], function() {
"use strict";
return {
Unread: "Unread",
Read: "Read"
};
});
接下来,纪念这个枚举作为依赖于您的自定义控制,使您能够验证值。
MyControl.js
sap.ui.define(["sap/ui/core/Control", "/path/to/MessageType.js"], function(Control, MessageType) {
Control.extend("myControl", {
someMethod: function(sMessageType) {
// Validate if we are dealing with a valid message type
var aKeys = Object.keys(MessageType);
var bValidEnumValue = aKeys.some(function(sKey) {
if (MessageType[sKey]) {
return true;
}
});
// Do other stuff..
}
});
});
当然的方式来检查,如果你正在处理一个有效的枚举值可以根据你想要做什么不同的方式来实现。
if (sMessageType === MessageType.Read) {
// do something
} else if (sMessageType === MessageType.Unread) {
// do something else
} else {
// throw an error?
}