我可以使用单个值将特定列表置于顶部。我怎样才能使我的搜索变得模糊,以便它接受列表中 odata
的任何数据?
var sf = new sap.m.SearchField({
placeholder: "Search",
showRefreshButton: true,
liveChange: function(oEvent) {
var tpmla = oEvent.getParameter("newValue");
var filters = new Array();
var oFilter = new sap.ui.model.Filter("Kunnr", sap.ui.model.FilterOperator.Contains, tpmla);
filters.push(oFilter);
this.oList = sap.ui.getCore().byId("po_list");
this.oList.getBinding("items").filter(filters);})
我需要了解如何提供更多 Name1, Addr.
类型的输入
最佳答案
您可以将多个过滤器添加到 sap.ui.model.ListBinding
:
var filters = [];
filters.push(new sap.ui.model.Filter("Kunnr", sap.ui.model.FilterOperator.Contains, tpmla));
filters.push(new sap.ui.model.Filter("Name1", sap.ui.model.FilterOperator.Contains, tpmla));
filters.push(new sap.ui.model.Filter("Addr", sap.ui.model.FilterOperator.Contains, tpmla));
this.oList = sap.ui.getCore().byId("po_list");
this.oList.getBinding("items").filter(filters);
据我所知,这会将不同的过滤器与 AND 关系链接起来,这意味着它仅在 tmpla
包含在所有字段中时才匹配。没有办法使它成为 OR。解决方法是在您的模型上创建一个搜索字段,其中包含您可能作为连接字符串搜索的所有值。
BR 克里斯
关于javascript - 如何使我的搜索模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26449793/