我正在尝试为订单创建屏幕创建一个可搜索的字段。我决定使用sap.m.SearchField
。要搜索,我将其绑定到oData源。
这里是JSbin。如果你注释掉了//debugger
语句,你可以看到oEvent.getSource().getAggregation('suggestionItems')
某些东西似乎设置了。
<SearchField
type="Text"
enableSuggestions="true"
suggest="onMaterialSuggest"
suggestionItems="{path: 'part>/Parts'}">
<suggestionItems>
<SuggestionItem text="{part>PartDesc}" description="{data>PartID}" key="{part>PartID}"/>
</suggestionItems>
</SearchField>
onMaterialSuggest
的代码如下:
var value = oEvent.getSource().getValue().toUpperCase();
var filters = [];
filters.push(new Filter({
filters: [
new Filter("PartID", Operator.Contains, value.toUpperCase()),
new Filter("PartDesc", Operator.Contains, value.toUpperCase())
],
and: false
}));
oEvent.getSource().getBinding('suggestionItems').filter(filters);
这些物品是绑定的,我可以做getAggregation('suggestionItems')
,我可以看到它充满了各种东西。
问题是这些建议实际上没有显示出来。我觉得我错过了一些愚蠢的话。有什么想法吗?