参见探索的例子.但是,在你的情况下,模型是一个ODataModel,但这并不重要......正如你在示例的代码中看到的,你也可以使用
showSuggestion="true" suggest="handleSuggest" suggestionItems="{/ProductCollection}"
然后在处理程序中执行此操作(也从示例中复制):
handleSuggest: function(oEvent) { var sTerm = oEvent.getParameter("suggestValue"); var aFilters = []; if (sTerm) { aFilters.push(new Filter("Name", sap.ui.model.FilterOperator.StartsWith, sTerm)); } oEvent.getSource().getBinding("suggestionItems").filter(aFilters); }
基本上你-创建一个或多个过滤器-获取的绑定suggestionItems聚集-调用.filter(...)的结合,并通过过滤器(一个或多个)
不需要手动编码那些东西(即GET请求等).
这是一个runninh示例(通过jsbin运行),见下文.在你的情况下,你所做的就是绑定
suggestionItems="{path:'/SuggestionSet', templateShareable:false}">
在handleSuggest处理程序中,您将获得属于当前/对应输入字段的SuggestionSet的Key属性的值,以便实例化新的Filter.您可以从BindingContext 获取Key我猜...
SAPUI5 single file template | nabisoft