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?
}