【问题标题】:SAPUI5 table in list列表中的 SAPUI5 表
【发布时间】:2019-03-18 18:35:17
【问题描述】:

我有一个看法:

<List
        items="{data>/Stages}">
           <CustomListItem>
            <Panel>
                <headerToolbar>
                     <Toolbar>
                         <content>
                           <Button
                              visible="{= ${data>/Stages/length} > 1}" />
                         </content>
                     </Toolbar>
                 </headerToolbar>
                 <content>
                 <Table
                   growing="true" 
                   growingScrollToLoad="false"
                   items="{
                       path: 'data>FieldWorks',
                       templateShareable: true
                   }"
                   class="blueTable originTable techTable">
                   <columns>
                     <Column
                       visible="true"
                       vAlign="Middle" 
                       width="15px" />
                   </columns>
                   <items>
                     <ColumnListItem>
                         <cells>
                          <core:Icon
                              visible="{ ???}"
                              src="sap-icon://customfont/moving"
                              size="2.1rem"
                              color="#14c6c9" />
                         </cells>
                     </ColumnListItem>
                  </items>
               </Table>
            </content>
        </Panel>
    </CustomListItem>
</List>

我有一个模型(示例):

data: {
   Stages: [{
       FieldWorks: [{}, ....]
    }, .....]
}

如您所见,我通过表达式绑定隐藏了我的按钮(在我的工具栏中)。 按条件 FieldWorks.length > 1 隐藏我的图标(在 CustomListItem 中)的最佳方法是什么

【问题讨论】:

  • 你有没有尝试过得到这个?或者你得到任何错误?类似的表达式绑定方式可能对您或格式化程序有所帮​​助?
  • 我考虑过外部格式化程序,但对我来说似乎不太好。

标签: sapui5


【解决方案1】:

如果您使用的是 JSON 模型,只需将布尔属性添加到您的 JSONModel 到 FieldWorks 实体并将可见属性绑定到它。然后有一次你必须在加载或创建数据时设置它,仅此而已。

【讨论】:

  • 问题是我可以修改我的数据(添加\删除 FieldWorks)并维护这个布尔值可以是解决方案,但对我来说似乎不太好
  • 我改变了主意,您的解决方案对我来说似乎很不错。我会用这个。
【解决方案2】:

您可以在 FieldWorks 属性下的 json 模型中定义一个新属性,以绑定图标的可见性。

您可以使用 Object.defineProperty (SPEC MDN) 来定义您计算出的新属性。

【讨论】:

    猜你喜欢
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    相关资源
    最近更新 更多