我目前正在 SAPUI5 中尝试一些东西,并且我已经实现了一个非常简单的搜索,如下所示:
var filters = [];
var query = evt.getParameter("query");
if (query && query.length > 0) {
var nameFilter = new sap.ui.model.Filter("name", sap.ui.model.FilterOperator.Contains, query);
filters.push(nameFilter);
}
var list = this.getView().byId("list");
var binding = list.getBinding("items");
binding.filter(filters);
现在我有以下问题:通过这种逻辑,我可以仅按人名进行搜索,或者更确切地说进行过滤。我还有一些其他字段,例如年龄、性别等,我也想搜索年龄或性别。
因此,我尝试创建第二个过滤器,例如“genderFilter”,它使用“gender”字段。之后,使用 .push() 方法将第二个过滤器添加到过滤器[]中。但这不起作用。
我已经尝试观看文档,观看不同的示例,尝试不同的方法 - 但我很无助。有人可以帮我解决这个问题吗?
对于要求,此代码将起作用。
var list = this.getView().byId("list");
var binding = list.getBinding("items");
if( !query ) {
binding.filter( [] );
}
else {
binding.filter( [ new sap.ui.model.Filter([
new sap.ui.model.Filter("name", sap.ui.model.FilterOperator.Contains, query ),
new sap.ui.model.Filter("gender", sap.ui.model.FilterOperator.Contains, query )
],false)
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)