Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
Sapui5 使用XML视图将浏览器事件附加到控件_Sapui5 - Fatal编程技术网

Sapui5 使用XML视图将浏览器事件附加到控件

Sapui5 使用XML视图将浏览器事件附加到控件,sapui5,Sapui5,我的REST服务向我发送了大量数据。每个属性都包含值和帮助-属性,该属性包含字段属性的详细描述 好的,我在JSONModel中有数据(带有值和帮助的属性列表),我使用数据绑定XML在表单和表中映射数据value。 现在我想为每个属性显示help消息 我的想法是当用户双击表中列标题的或时显示 标签和文本都有方法,但我不知道如何使用函数仅在XML视图中附加事件 我想要这样的东西: 在XML视图中: <Label text="Language" attachBrowserE

我的REST服务向我发送了大量数据。每个属性都包含
帮助
-属性,该属性包含字段属性的详细描述

好的,我在JSONModel中有数据(带有值和帮助的属性列表),我使用数据绑定XML在表单和表中映射数据
value
。 现在我想为每个属性显示
help
消息

我的想法是当用户双击表中列标题的或时显示

标签和文本都有方法,但我不知道如何使用函数仅在XML视图中附加事件

我想要这样的东西:

在XML视图中:

<Label text="Language" 
          attachBrowserEvent:"function("click",showMessageHelp({model>/language/help}))">

<Input value="{model>/language/value}"/>

您可以使用onAfterRendering方法来实现这一点。 在XML中包含自定义数据:

<Label id="label" text="Language">
    <customData>
          <core:CustomData key="type" value="{/language/help}" />
    </customData>
</Label>

PS:我不确定这对你来说是可行的解决方案。
这是目前我能想到的最好方法。

为每个标签附加浏览器事件是可能的,但如果不重复每个标签id,我找不到一种方法

我找到了另一种解决方案:我的数据以表格和表格的形式显示。 我在每个表单的右侧添加了两个标签:为文本元素添加帮助信息:

    <Label text="Field duck"/>
    <Text text="{model>/elements/mainFields1/duck/value}"/>
    <Text text="{model>/elements/mainFields1/duck/ATTR/help/description}" visible="{ui>/bShowHelp}" />
<Column>
   <header>
      <Text text="Name"/>
   </header>
   <footer>
      <Text text="{model>/elements/airports/templateNewRow/name/ATTR/help/description}" visible="{ui>/bShowHelp}"/>
   </footer>
</Column>

在表格中,我将每列标题分为两组:页眉和页脚;在页脚中,我放置了帮助信息:

    <Label text="Field duck"/>
    <Text text="{model>/elements/mainFields1/duck/value}"/>
    <Text text="{model>/elements/mainFields1/duck/ATTR/help/description}" visible="{ui>/bShowHelp}" />
<Column>
   <header>
      <Text text="Name"/>
   </header>
   <footer>
      <Text text="{model>/elements/airports/templateNewRow/name/ATTR/help/description}" visible="{ui>/bShowHelp}"/>
   </footer>
</Column>


我更改了显示和隐藏所有帮助信息的
bShowHelp
的值

我将标签设置为一个片段(主视图有一个IconTabBar,每个选项卡有一个片段)。我从视图的控制器写入
this.byId(“标签”)
它返回
未定义的
我喜欢您的答案,但使用您的解决方案,我必须为每个标签附加浏览器事件!!:(但如何控制帮助文本的可见性?实际上,如何使用丰富的工具提示?这可能不是移动/触摸屏的好解决方案,但对桌面很好。是的,如果我想在移动/触摸上下文中打开应用程序,工具提示不是正确的方法。我的解决方案很好,因为1)我可以同时查看所有帮助,2)我可以通过一个按钮隐藏和显示帮助,该按钮可以更改modeloh ok中的
bShowHelp
属性。。我假设您希望一次只显示特定上下文的帮助文本:)