如何从外部获取sap.m.Select的selectedKey?

时间:2018-11-30 19:11:12

标签: sapui5

具有此选择控件:

from matplotlib import pyplot as plt 
l = [0, -1, -1, -1, -10, -100]
plt.hist(l)
plt.show()

我需要它能够获取它的选定键,但不能在change事件中。我从外面(另一个功能)需要它。

我尝试使用ID,但结果只是得到new Select("id", { items: { path: "/cards", template: new ListItem({ key: "{Kunnr}", text: "{Descrip}" }), }, });

4 个答案:

答案 0 :(得分:0)

您的问题中缺少一些信息,主要是关于如何将oSelectMarca添加到视图中。这使它在您的应用程序中的可用方式有所不同。有两个地方可以通过ID获得某些东西:

this.getView().byId('id');
sap.ui.getCore().byId('id');

您必须检查它是哪个。...另一种选择是将模型添加到视图中,而不是oSelectMarca,在这种情况下,您的视图和您选择的视图可以共享数据。但是再次取决于您如何将选择添加到屏幕。

答案 1 :(得分:0)

根据需要使用它的位置,您可以执行以下操作:

this.oSelectMarca = new sap.m.Select('id',{});
this.oSelectMarca.setModel(myModel);

或者如果要在另一个控制器中使用它,请尝试:

sap.ui.getCore().oSelectMarca = new sap.m.Select('id',{});
sap.ui.getCore().oSelectMarca.setModel(myModel);

答案 2 :(得分:0)

尝试在selectedKey中进行双向数据绑定,这有助于保持MV *模式。

new Select({
  selectedKey: "{/selectedCard}" // <-- It's TwoWay
  items: {
    path: "/cards",
    template: new ListItem({
        key: "{Kunnr}",
        text: "{Descrip}"
    }),
  },
});

我假设可以在整个应用程序中访问默认模型。因此,只要您可以访问该模型,就可以通过myModel.getProperty("/selectedCard");

获取选定的密钥。

答案 3 :(得分:-1)

我通过使用sap核心从外部访问属性来解决它:

var myvar = sap.ui.getCore().getModel("marcas");
var selectedKey= myvar.getProperty('/cards/Kunnr');