Sapui5 在UI5应用程序中找不到SelectedItem BindingContext
我正在尝试查找selectedItem的绑定上下文。即使在将modelName传递给bindingContext之后,我仍然没有定义。当我执行oEvent.getSourcer()并查看obindingContext时,它是空白的。此外,ObindingInfo还有未定义的ocontext。虽然它已经吐了。正确的喷溅。在这种情况下,如何获取数组索引Sapui5 在UI5应用程序中找不到SelectedItem BindingContext,sapui5,Sapui5,我正在尝试查找selectedItem的绑定上下文。即使在将modelName传递给bindingContext之后,我仍然没有定义。当我执行oEvent.getSourcer()并查看obindingContext时,它是空白的。此外,ObindingInfo还有未定义的ocontext。虽然它已经吐了。正确的喷溅。在这种情况下,如何获取数组索引 oNewField = new sap.m.Select({ enabled: "{order>/" + Type+ "/" + i
oNewField = new sap.m.Select({
enabled: "{order>/" + Type+ "/" + i + "/fieldEnabled}",
forceSelection: false,
width: "90%",
// Add dropdoen Items
items: [
new sap.ui.core.ListItem({
key: " ",
text: " "
}),
new sap.ui.core.ListItem({
key: "{order>/" + Type+ "/" + i + "/DefaultValue}",
text: "{order>/" + Type+ "/" + i + "/DefaultValue}"
})
],
change : function(evt) {
that.onChange(evt);
},
});
var selectedKey = this.getView().getModel('order').getProperty(
"/" + Type+ "/" + i + "/DefaultValue");
oNewField.setSelectedKey(selectedKey);
**关于变函数**
onChange: function(oEvent) {
debugger;
var key = oEvent.getSource().getSelectedItem().getKey();
//need to get BindingContext here.
var oContext =
oEvent.getSource().getSelectedItem().getBindingContext('order')
//gives undefined
},
你完全正确。请注意,oEvent.getSource()
指向sap.m.Select
。您需要另一个getSelectedItem()
才能转到所选的sap.ui.core.Item
你完全正确。请注意,
oEvent.getSource()
指向sap.m.Select
。您需要另一个getSelectedItem()
才能转到所选的sap.ui.core.Item
您根本没有进行任何聚合绑定。因此,没有可检索的上下文。您正在项目聚合中硬编码2个项目
检查这个片段。它向你展示了你能做的许多事情。我希望他们中的一个是你要找的
JSBIN:
带XmlView的MVC
//定义新的(简单的)控制器类型
sap.ui.controller(“my.own.controller”{
onInit:功能(oEvent){
//聚合绑定
var oSelect=new sap.m.Select({
项目:{
路径:“订单>/options”,
模板:new sap.ui.core.Item({
关键:{
路径:“顺序>键”
},
正文:{
路径:“顺序>值”
}
})
},
更改:this.onSelection1Change.bind(this)
});
this.getView().byId(“myPanel”).addContent(oSelect);
对于(var i=0;i您根本没有进行任何聚合绑定。因此,没有上下文可检索。您正在项目聚合中硬编码2个项目
检查这个片段。它向你展示了你可以做的许多事情。我希望你能找到其中的一个
JSBIN:
带XmlView的MVC
//定义新的(简单的)控制器类型
sap.ui.controller(“my.own.controller”{
onInit:功能(oEvent){
//聚合绑定
var oSelect=new sap.m.Select({
项目:{
路径:“订单>/options”,
模板:new sap.ui.core.Item({
关键:{
路径:“顺序>键”
},
正文:{
路径:“顺序>值”
}
})
},
更改:this.onSelection1Change.bind(this)
});
this.getView().byId(“myPanel”).addContent(oSelect);
对于(var i=0;我感谢你@Rafael静态列表方法和selection2change对我有效。另外,我在代码中做了一些调整。再次感谢你!!!感谢@Rafael静态列表方法和selection2change对我有效。另外,我在代码中做了一些调整。再次感谢你!!!
oEvent.getSource().getSelectedItem().getBindingContext()