首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sap.tnt.NavigationListItem的稳定ID (id与key)

sap.tnt.NavigationListItem的稳定ID (id与key)
EN

Stack Overflow用户
提问于 2021-07-06 15:31:19
回答 1查看 192关注 0票数 1

根据使用稳定ID文章,建议对UI5元素使用稳定ID。同时,我回顾了sap.tnt.NavigationListItem实现的多个示例,并注意到在sap.tnt.NavigationListItem的情况下,不使用id,而是使用key,例如:

代码语言:javascript
运行
复制
<tnt:NavigationListItem text="{name}" icon="{icon}" key="{controller}" select="onItemSelect" />

我还尝试将id分配给tnt:NavigationListItem,然后通过标准的oEvent.getProperty("%MY_ID%")方法从oEvent-object访问它,但没有成功。

我的问题:

  1. 何时应该使用id,以及何时key对XML-模板中的UI5项使用?
  2. 是特定的sap.tnt.NavigationListItem情况下,keyid更受欢迎,还是我错过了一些重要的东西?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-07 08:44:54

根据你的评论,我举了一个小例子。

  • 如果您的项是硬编码的,那么一定要在XML定义中使用key
  • 如果你的物品经过一个模型。你可以和其他地方一样。使用数据触发正确的操作。

如果需要标识UI元素,例如测试中的按钮,或者添加用户协助帮助,请使用用户协助帮助

代码语言:javascript
运行
复制
sap.ui.controller("view1.initial", {

onInit: function(oEvent) {
    this.getView().setModel(
      new sap.ui.model.json.JSONModel({
       items: [{
            title : "1",
          subItems: [
            { keyInData: "1", title : "1-a" },
            { keyInData: "2", title : "1-b" },
            { keyInData: "3", title : "1-c" },
            { keyInData: "4", title : "1-d" }
          ]
       }],
    }));
},

onItemSelect: function(oEvent) {
     const item = oEvent.getParameter("item")
     console.log("key over key binding: " + item.getKey() )
     console.log("key over databinding: " + item.getBindingContext().getObject().keyInData )
}

});

sap.ui.xmlview("main", { viewContent: jQuery("#view1").html() } ).placeAt("uiArea");
代码语言:javascript
运行
复制
<script id="sap-ui-bootstrap"
src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-xx-bindingSyntax="complex"
data-sap-ui-compatVersion="edge"
data-sap-ui-libs="sap.m"></script>

<div id="uiArea"></div>

<script id="view1" type="ui5/xmlview">
  <mvc:View controllerName="view1.initial" xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns:tnt="sap.tnt">
      <tnt:NavigationList
      id="navigationList"
      width="320px"
      selectedKey="subItem3" items="{/items}">
      <tnt:NavigationListItem text="{title}"  items="{ path:'subItems', templateShareable:false}" icon="sap-icon://employee" >
        <tnt:NavigationListItem text="{title} - {keyInData}" key="{keyInData}" select="onItemSelect" />
      </tnt:NavigationListItem>
    </tnt:NavigationList>
  </mvc:View>
</script>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68273390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档