不会从片段触发sap.m.SelectDialog的选择,确认,关闭事件

问题描述 投票:0回答:2

我正在使用xmlFragment中的sap.m.SelectDialog,其中搜索,确认和关闭事件的功能未触发。请参阅下面的代码,并让我知道我要去哪里。

片段

<core:FragmentDefinition
    xmlns="sap.m"
    xmlns:core="sap.ui.core">
    <SelectDialog
        title="Contract Items"
        class="sapUiPopupWithPadding"
        items="{ci>/contracts}"
        search="handleValueHelpSearch"
        confirm="handleValueHelpClose"
        cancel="handleValueHelpClose"
        multiSelect="true">
        <StandardListItem
            title="{ci>name}"/>
        </SelectDialog>
</core:FragmentDefinition>

控制器

    handleValueHelpClose: function (oEvent) {
            var aSelectedItems = oEvent.getParameter("selectedItems"),
                oMultiInput = this.byId("contract_itm_in");

            if (aSelectedItems && aSelectedItems.length > 0) {
                aSelectedItems.forEach(function (oItem) {
                    oMultiInput.addToken(new Token({
                        text: oItem.getTitle()
                    }));
                });
            }
            oValueHelpDialog = 0;
        },
        handleValueHelpSearch: function (oEvent) {
            var sValue = oEvent.getParameter("value");
            var oFilter = new Filter(
                "Name",
                FilterOperator.Contains,
                sValue
            );
            oEvent.getSource().getBinding("items").filter([oFilter]);
        },

父视图

<MultiInput width="10%" id="contract_itm_in">

我也尝试将事件附加到对话框。不幸的是,它没有用。

BR,Anusha

sapui5
2个回答
0
投票

请将对话框附加到父视图,以使控制器中可见的功能可见。

下面的示例代码

this.getView().addDependent(oValueHelpDialog);

0
投票

我发现了问题,在这里我试图链接两个Input控件,以使input2的值帮助取决于为input1选择的值。因此,我在Input1的selectedItem事件中附加了valueHelpRequest处理程序,该事件更改了valueHelpRequest函数和所有与Input2相关的函数的上下文。意识到这一点,我删除了selectedItem中的attachEvent并在valueHelpRequest中写了一个条件来检查Input1是否已填充。

谢谢大家,

© www.soinside.com 2019 - 2024. All rights reserved.