如何为MultiComboBox的项目设置additionalText

时间:2017-02-01 10:45:07

标签: sap sapui5

我想在使用sap.m.MultiComboBox时添加additionalText属性。我的观点如下:

<MultiComboBox items="{/list}" width="17rem" >
    <core:ListItem key="{Name}" text="{Name}" additionalText="{Price}" />
</MultiComboBox>

但这似乎不起作用,因为ListItem不是MultiComboBox的聚合。

3 个答案:

答案 0 :(得分:1)

将文本属性连接起来吗?由于您似乎无法定义真正的附加文本,因此解决方法应该是这样的:

<MultiComboBox items="{/list}" width="17rem" >
    <core:Item key="{Name}" text="{Name}: {Price}" />
</MultiComboBox>

答案 1 :(得分:1)

截至1.60

控件sap.m.MultiComboBox现在支持 [1] 属性showSecondaryValues,它应与additionalText中的<core:ListItem>一起使用。< / p>

<MultiComboBox
  showSecondaryValues="true"
  items="{/ProductCollection}"
>
  <core:ListItem
    key="{ProductId}"
    text="{Name}"
    additionalText="{ProductId}"
  />
</MultiComboBox>

演示: https://ui5.sap.com/#/entity/sap.m.MultiComboBox/sample/sap.m.sample.MultiComboBoxTwoColumnsLayout

sapui5 sap.m.MultiComboBox additionalText

1.58及以下

问题是控件 Multi Combo Box 不是为了在列表中显示多个属性而设计的。根据{{​​3}}:

  

如果需要显示多个组合框,请不要使用多组合框   属性。

我不建议投入太多时间来解决这个限制,使应用程序更容易出错且难以维护。相反,请使用Fiori Design Guideline之类的替代控件,并使用选项multiSelect: true。它的聚合接受从Select Dialog扩展的任何项目,您可以在其中放置任何想要向用户提供更多信息的内容。

PS:除了选择对话框之外,该指南还提到了List Item Base作为替代方案。但它目前是闭源的(在OpenUI5中不可用)和IMO,绝对是一种替代简单的 Multi Combo Box 用例的过度杀伤。

答案 2 :(得分:0)

<ComboBox
            showSecondaryValues= "true"
            items="{
                path: '/ProductCollection',
                sorter: { path: 'Name' }
            }">
            <core:ListItem key="{ProductId}" text="{Name}" additionalText = {CurrencyCode}"/>

refer this