sapui5 如何使用 AND 和 OR 条件构造嵌套过滤器
sapui5 how to construct nested filters with AND and OR conditions
嗨,我有一个对象,其中包含类似的数据
{
status : [ "started", "completed"],
branch : [ "India", "Germany" ]
}
在这里,我想构造嵌套过滤器,例如状态为"已开始"或"已完成",并且分支为"印度"或"德国
"我尝试了下面的代码
var oFilter = new sap.ui.model.Filter(
keys.forEach(function(v) {
var oItem = totalFilterValues[v];
if(v === "status"){
return new sap.ui.model.Filter(oItem.forEach(function(val) {
return new sap.ui.model.Filter("status",
sap.ui.model.FilterOperator.Contains, val);
}), false);
}
if(v === "branch"){
return new sap.ui.model.Filter(oItem.forEach(function(val) {
return new sap.ui.model.Filter("branch",
sap.ui.model.FilterOperator.Contains, val);
}), false);
}
}),true);
但是没有工作,你能帮我吗? 我遵循下面的代码片段。
var oFilter = new sap.ui.model.Filter(mFacetFilterLists.map(function(oList) {
return new sap.ui.model.Filter(oList.getSelectedItems().map(function(oItem) {
return new sap.ui.model.Filter(oList.getTitle(), "EQ", oItem.getText());
}), false);
}), true);
对于多个过滤器:
var oStatusFilter = new sap.ui.model.Filter('status', function(oValue) {
if (oValue === "started" || oValue === "completed")
return true;
else return false;
});
var oCountryFilter = new sap.ui.model.Filter('branch',
function(oValue) {
if (oValue === "India" || oValue === "Germany")
return true;
else return false;
}
);
var oFilters = new sap.ui.model.Filter([oCountryFilter, oStatusFilter], true
});
在此处阅读更多内容 SAPUI5 过滤器
相关文章:
- 用嵌套函数和默认函数定义函数
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 可以简化嵌套的延迟Q Promises解析吗
- 用于搜索的聚合物嵌套绑定
- 角度嵌套过滤器依据复选框
- 如何在嵌套的ngRepeat中对第二个ngRepeat应用过滤器
- 单选按钮在嵌套的 ng 重复和过滤器中不起作用
- 嵌套的 ng 重复过滤器由 ng 过滤器与 ng 选择
- AngularJS嵌套ng-repeat过滤器多个参数
- 带有嵌套对象的 AngularJS 过滤器
- 分层数据模型的角度嵌套过滤器
- 将2个不同的嵌套过滤器与同位素相结合
- 通过JSON(javascript)构建嵌套过滤器
- javascript在数组过滤器中嵌套for循环
- Lodash:当我嵌套对象时如何使用过滤器
- ElasticSearch如何将非嵌套过滤器转换为查询
- AngularJS:在带过滤器的ng-repeat嵌套完成后触发事件
- AngularJS ng-repeat过滤器特定的嵌套属性
- sapui5 如何使用 AND 和 OR 条件构造嵌套过滤器
- AngularJS的ng-repeat查询过滤器不显示嵌套对象