javascript - 如何使我的搜索模糊

标签 javascript sapui5

我可以使用单个值将特定列表置于顶部。我怎样才能使我的搜索变得模糊,以便它接受列表中 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/

相关文章:

javascript - 如何在 Windows 运行时 JavaScript 应用程序中获取操作系统和设备信息?

javascript - 为什么函数返回的数据不在 react 中呈现?

javascript - 为什么在这种情况下会超出最大调用堆栈?

javascript - SAPUI5 TreeTable 渲染问题

javascript - _oDialog.destroy() 后出现 "setInitialFocusId"错误

javascript - 如何将对象[Table]中的数据绑定(bind)到其他对象[TimePicker]中

sapui5 - 如何在sapui5中构建可扩展的sap.m.Table?

javascript - 传递 URL 参数和 HTML 输出执行顺序

javascript - 添加背景图片时文本区域变为透明

javascript - 如何从 Visual Studio Code API 打开浏览器