即使选择了一个选项,也可以使sap.m.MultiComboBox永久打开

时间:2017-03-28 11:07:27

标签: sapui5

是否可以通过在选择复选框选项或以任何其他方式实现相同选项时禁用下拉切换来保持sap.m.MultiComboBox处于打开状态。

3 个答案:

答案 0 :(得分:0)

您是否考虑过使用SelectList?我相信这可以模仿你想要实现的目标

https://sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.SelectList/preview

答案 1 :(得分:0)

为此,您需要覆盖MultiComboxBox的close方法。以下是工作代码:

查看:

<MultiComboBox selectionChange="handleSelectionChange" id='cb'   
  selectionFinish="handleSelectionFinish" width="500px"
        items="{/ProductCollection}">
        <core:Item key="{ProductId}" text="{Name}" />
    </MultiComboBox>

控制器:

onAfterRendering: function() {
        var cb = this.byId('cb');
        cb.open(); // Open the MultiCOmboxBox. Remove this if you want user to open this.
        cb.close = function (evt) {
          // dont do anything. Just return; Override default functionality.
        }
        // this makes sure that popup is not closed if clicked outside the popup
       cb.getAggregation('picker').oPopup._bAutoClose = false;

    },

请告诉我这是否适合您。

答案 2 :(得分:0)

如果单击项目的开启,MultiComboBox将设计为关闭。如果您选中其中一个复选框,它将保持打开状态,只会触发一个选择。

您还可以尝试使用以下内容修改autoclose:

oMultiComboBox.getPicker().oPopup.setAutoClose(false)

但这不是公共API,因此不建议使用