当我尝试在此输入具有绑定前的输入框上输入值时收到错误:
<Input id="Dscription" value="{Model>Dscription}" />
对于我的控制器,我没有定义任何模型。
onInit: function () {
//var oForm = this.getView().byId("itemMasterForm");
//oForm.bindElement("Model>/Item(ItemCode='A0001')");
this.oRouter = sap.ui.core.UIComponent.getRouterFor(this);
}
我在 onInit 中删除了bindElement并将其放在 _handleValueHelpClose 函数中。此功能用于在用户尝试搜索ItemCode时选择数据。
视图:itemMaster.view.xml
<Input
id="ItemCode"
type="Text"
value="{Model>ItemCode}"
showSuggestion="true"
showValueHelp="true"
valueHelpRequest="handleValueHelp"
suggestionItems="{Model>/Item}" >
<suggestionItems>
<core:ListItem text="{Model>ItemCode}" additionalText="{Model>Dscription}" />
</suggestionItems>
</Input>
控制器itemMaster.controller.js:
_handleValueHelpClose : function (evt) {
var oSelectedItem = evt.getParameter("selectedItem");
if (oSelectedItem) {
var productInput = this.byId(this.inputId);
//productInput.setValue(oSelectedItem.getTitle());
var oForm = this.getView().byId("itemMasterForm");
this.getView().byId("btnSave").setText("Update");
oForm.bindElement("Model>/Item(ItemCode='"+ oSelectedItem.getTitle() +"')");
}
evt.getSource().getBinding("items").filter([]);
}
这是来自浏览器的完整错误:https://pastebin.com/HsVVQDew