Я новичок в SAPUI5, и у меня есть требование, в котором я должен показать предложение по элементу управления sap.m.input.Я пытаюсь сделать это с предложением события, но я не получаю никаких предложений и никаких ошибок.Насколько я знаю, предложить событие покажет предложение на ввод пользователя.Если мой код работает неправильно, пожалуйста, дайте мне знать, что я должен исправить, чтобы заставить его работать.
XML:
<Label id='idDocLbl' text="" />
<Input id = "iddocNo" width="450px"
placeholder = "Enter Doc No ..."
showSuggestion="true"
showValueHelp = "true"
valueHelpRequest = "handleDocValueHelp"
enabled="true" change = "handleDocChange"
valueState = "None"
suggest = "handleDocSuggest">
</Input>
Контроллер:
handleDocSuggest: function (oEvent) {
var that = this;
var inputId = oEvent.getSource().getId();
var displayModel = sap.ui.getCore().getModel("displayModel");
var oSource = displayModel.getProperty("/sourceView");
var systemId = displayModel.getProperty("/systemId");
var compCode = displayModel.getProperty("/compCode");
var type = displayModel.getProperty("/type");
var prdId = this.getView().byId("idPrdid").getValue();
var viewname = oSource + "HDView";
var viewDependent = '';
var docField = sap.ui.getCore().getModel("configModel").getProperty("/docField");
sap.ui.getCore().getModel("displayModel").setProperty("/docField", docField);
var docid = this.getView().byId("iddocNo");
docid.setModel(displayModel);
oEvent.oSource.bindAggregation("suggestionItems", "/" + oSource, new sap.ui.core.ListItem({
text: "{" + docField + "}",
growing: true,
key: "{" + docField + "}"
}));
that._handleSuggest(oEvent, docField, viewDependent);
},
_handleSuggest: function (osuggest, viewkey, viewDependent) {
var lValue = osuggest.getParameter("suggestValue").toUpperCase();
var displayModel = sap.ui.getCore().getModel("displayModel");
var oSource = displayModel.getProperty("/sourceView");
var systemId = displayModel.getProperty("/systemId");
var compCode = displayModel.getProperty("/compCode");
var type = displayModel.getProperty("/type");
var prdId = this.getView().byId("idPrdid").getValue();
var filterArray = [];
filterArray.push(new sap.ui.model.Filter(viewkey, sap.ui.model.FilterOperator.Contains, lValue));
filterArray.push(new sap.ui.model.Filter("SYSTEM_ID", "EQ", systemId));
filterArray.push(new sap.ui.model.Filter("COMPANY_CD", "EQ", compCode));
filterArray.push(new sap.ui.model.Filter("DATA_CRCTN_TYP_CD", "EQ", type));
filterArray.push(new sap.ui.model.Filter("NGTL_WORKFLOW_STATUS", "NE", "Y"));
if (viewDependent.length > 0) {
var inputdepend_value;
inputdepend_value = this.getView().byId("idSystemId").getValue();
var oDepFilter = new sap.ui.model.Filter(viewDependent, sap.ui.model.FilterOperator.EQ, inputdepend_value);
var oDepFinal = [];
oDepFinal.push(oDepFilter);
oDepFinal.push(oFilter);
osuggest.getSource().getBinding("suggestionItems").filter(oDepFinal);
} else {
osuggest.getSource().getBinding("suggestionItems").filter([filterArray]);
}
},