Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在sap中显示阵列项目-选择并向项目添加锚定标记_Javascript_Sapui5 - Fatal编程技术网

Javascript 在sap中显示阵列项目-选择并向项目添加锚定标记

Javascript 在sap中显示阵列项目-选择并向项目添加锚定标记,javascript,sapui5,Javascript,Sapui5,我目前正在学习SAP UI5,但找不到有关如何在SAP.m.Select中显示项目的足够信息,我想做的是将我自己的数组中的项目显示为下拉列表,并向所有项目添加锚定链接,如: var myMenuItems = ["foo","bar","baz"]; 我设法建立了一个选择菜单,但没有找到添加项目的方法,所以现在它看起来是空的 我的选择代码为: new sap.m.Select(this.createId("selector"), { name:"selectN

我目前正在学习SAP UI5,但找不到有关如何在
SAP.m.Select
中显示项目的足够信息,我想做的是将我自己的数组中的项目显示为下拉列表,并向所有项目添加锚定链接,如:

var myMenuItems = ["foo","bar","baz"]; 
我设法建立了一个
选择菜单
,但没有找到添加项目的方法,所以现在它看起来是空的

我的选择代码为:

new sap.m.Select(this.createId("selector"), {
                name:"selectName",
                selectedKey: "foo",
                icon: "sap-icon://navigation-down-arrow", 
                valueState:"Success",
                valueStateText:"random text idk what for",
                forceSelection:false
            })

如何推送myMenuItems的项目并在此
Select
中显示它们?

sap.m.Select是一个非常强大的控件。你需要一个Ash提到的模型。 以下是您案例的工作示例:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8">
    <script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
            id="sap-ui-bootstrap"
            data-sap-ui-libs="sap.m"
            data-sap-ui-theme="sap_belize"></script>
    <script>
        var oData = {
            MenuItems: [{id: 1,name: "foo"},{id: 2,name: "bar"},{id: 3,name: "baz"}]
        };
        var oModel = new sap.ui.model.json.JSONModel(oData);
        var oSelect = new sap.m.Select({
            id: "selector",
        });
        var oItemSelectTemplate = new sap.ui.core.Item({
            key: "{id}",
            text: "{name}"
        }); //Define the template for select items
        oSelect.setModel(oModel);// set model to Select element
        oSelect.bindAggregation("items", "/MenuItems", oItemSelectTemplate); //bind aggregation with the template to items
        oSelect.placeAt('content');
    </script>
</head>
<body id="content" class="sapUiBody">
</body>
</html>

变量oData={
MenuItems:[{id:1,名称:“foo”},{id:2,名称:“bar”},{id:3,名称:“baz”}]
};
var oModel=new sap.ui.model.json.JSONModel(oData);
var oSelect=new sap.m.Select({
id:“选择器”,
});
var oItemSelectTemplate=new sap.ui.core.Item({
密钥:“{id}”,
文本:“{name}”
}); //定义所选项目的模板
oSelect.setModel(oModel);//设置模型以选择图元
oSelect.bindAggregation(“items”,“/MenuItems”,oItemSelectTemplate)//使用模板将聚合绑定到项
oSelect.placeAt(“内容”);

sap.m.Select是一个非常强大的控件。你需要一个Ash提到的模型。 以下是您案例的工作示例:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8">
    <script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
            id="sap-ui-bootstrap"
            data-sap-ui-libs="sap.m"
            data-sap-ui-theme="sap_belize"></script>
    <script>
        var oData = {
            MenuItems: [{id: 1,name: "foo"},{id: 2,name: "bar"},{id: 3,name: "baz"}]
        };
        var oModel = new sap.ui.model.json.JSONModel(oData);
        var oSelect = new sap.m.Select({
            id: "selector",
        });
        var oItemSelectTemplate = new sap.ui.core.Item({
            key: "{id}",
            text: "{name}"
        }); //Define the template for select items
        oSelect.setModel(oModel);// set model to Select element
        oSelect.bindAggregation("items", "/MenuItems", oItemSelectTemplate); //bind aggregation with the template to items
        oSelect.placeAt('content');
    </script>
</head>
<body id="content" class="sapUiBody">
</body>
</html>

变量oData={
MenuItems:[{id:1,名称:“foo”},{id:2,名称:“bar”},{id:3,名称:“baz”}]
};
var oModel=new sap.ui.model.json.JSONModel(oData);
var oSelect=new sap.m.Select({
id:“选择器”,
});
var oItemSelectTemplate=new sap.ui.core.Item({
密钥:“{id}”,
文本:“{name}”
}); //定义所选项目的模板
oSelect.setModel(oModel);//设置模型以选择图元
oSelect.bindAggregation(“items”,“/MenuItems”,oItemSelectTemplate)//使用模板将聚合绑定到项
oSelect.placeAt(“内容”);

如果Ash Kander是对的,您必须创建一个包含数据的模型

SAP UI5 SDK的数据绑定部分应向您展示如何执行此操作,以及如何将其绑定到您的选择:

作为一个快速摘要,您可以创建模型并在与选择所在视图关联的控制器的onInit方法中的Select上进行设置:

var-oMenuItemsModel=new sap.ui.model.json.JSONModel({
“菜单项”:[
{“项目”:“foo”},
{“项”:“条”},
{“项目”:“baz”}
]
});

this.getView().setModel(oMenuItemsModel,“myMenuItems”)Ash Kander是对的,您必须创建一个包含数据的模型

SAP UI5 SDK的数据绑定部分应向您展示如何执行此操作,以及如何将其绑定到您的选择:

作为一个快速摘要,您可以创建模型并在与选择所在视图关联的控制器的onInit方法中的Select上进行设置:

var-oMenuItemsModel=new sap.ui.model.json.JSONModel({
“菜单项”:[
{“项目”:“foo”},
{“项”:“条”},
{“项目”:“baz”}
]
});

this.getView().setModel(oMenuItemsModel,“myMenuItems”)
您需要一个包含菜单项的模型,然后将此模型绑定到您的select:)难道没有类似于重复数组中的所有项并将其添加到视图中这样的功能吗?如Vue或Angular等。您需要一个包含菜单项的模型,然后将此模型绑定到您的select:)是否有任何功能,例如重复数组中的所有项并将其添加到视图中?如Vue或Angular等。sap页面上显示的所有示例都是使用XML视图完成的,但我必须使用JS视图sap页面上显示的所有示例都是使用XML视图完成的,但我必须使用JS视图