首页 > 解决方案 > 我无法在我的搜索字段中书写,但建议功能有效。我该如何解决?

问题描述

我的 SAPUI5 应用程序中的 searchField 有一个奇怪的问题。我不能在我的输入字段中写一些东西,但搜索建议我一些订单号?也许有人可以帮助我 - 非常感谢!

看法:

    <SearchField id="orderSearchField" value="{Ordernr}" placeholder="Vertragsnummer suchen..." enableSuggestions="true" search="onSearch"
                                suggest="handleSuggest" showSearchButton="false" suggestionItems="{ path: '/OrderSet', length: 10, sorter: { path: 'Ordernr' } }"
                                liveChange="handleOrderChange">
                                <suggestionItems>
                                    <SuggestionItem text="{Ordernr}" description="{Name1} {Name2}" key="{Ordernr}"/>
                                </suggestionItems>
                            </SearchField>

控制器:

    handleSuggest: function (oEvent) {
        var sTerm = oEvent.getParameter("suggestValue"),
            oSearchField = oEvent.getSource(),
            oBinding = oSearchField.getBinding("suggestionItems");
        var aFilters = [];
        if (sTerm.length > 0) {
    
            aFilters.push(
                new sap.ui.model.Filter(oSearchField.data("prop"), sap.ui.model.FilterOperator.StartsWith, sTerm));
            aFilters.push(new sap.ui.model.Filter("Status", sap.ui.model.FilterOperator.EQ, 5));
            oBinding.filter(aFilters);
            oBinding.attachEventOnce("dataReceived", function (oEvent) {
                oSearchField.suggest();
            });
        }

    onSearch: function (event) {
        var oSource = event.getSource(),
            oItem = event.getParameter("suggestionItem");
        if (oItem) {
            var objectPath = oItem.getBindingContext().getPath(),
                oView = this.getView(),
                sPath = oView.getBindingContext().getPath();
            this._setOrderData(objectPath, sPath);
        }
    },

    handleOrderChange: function () {
        this._resetOrderData();
    },

标签: javascriptsapui5sap-fiori

解决方案


推荐阅读