代码之家  ›  专栏  ›  技术社区  ›  Chan Yoong Hon

SAPUI5:在片段中将新的“ViewSettingsItem”添加到ViewSettingsDialog中

  •  0
  • Chan Yoong Hon  · 技术社区  · 7 年前

    目前我有一个片段用于分类。当用户单击排序按钮时。 它显示以下屏幕。

    enter image description here

    但是,我需要的是,我必须动态地将“ViewSettingsItem”添加到 片段中的“ViewSettingsDialog”。我不知道如何实现它,因为对于fragment.xml。我们没有控制器。我们应该在哪里动态添加新的ViewSettingsItem?

    下面是我的fragmen.xml示例代码

    <core:FragmentDefinition id="customerSortDialogFragment" xmlns:core="sap.ui.core" xmlns="sap.m">
        <ViewSettingsDialog confirm="onSortDialogConfirmed" id="sortingViewSettingsDialog">
            <sortItems>
                <ViewSettingsItem id="idCUSTOMER_ID" key="CUSTOMER_ID" selected="true" text="Customer ID"/>
                <ViewSettingsItem id="idCUSTOMER_NAME" key="CUSTOMER_NAME" text="Customer Name"/>
                <ViewSettingsItem id="idADDRESS_LINE_1" key="ADDRESS_LINE_1" text="Address Line 1"/>
                <ViewSettingsItem id="idADDRESS_LINE_2" key="ADDRESS_LINE_2" text="Address Line 2"/>
                <ViewSettingsItem id="idPRIVATE_NUMBER" key="PRIVATE_NUMBER" text="Private Number"/>
            </sortItems>
        </ViewSettingsDialog>
    </core:FragmentDefinition>
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Breakpoint    7 年前

    即使一个片段没有控制器,你也会看到 confirm="onSortDialogConfirmed"

    在同一个控制器中,您可以得到 ViewSettingsDialog

    Check this sample 打开一个对话框片段 it's code here

    在您的场景中,您可以在打开片段的controller方法中尝试以下操作(参考上面的示例链接)

    //Get the dialog instance
    var oDialog = sap.ui.xmlfragment(this.getView().getId(), "path.of.your.fragment", this);
    // connect dialog to view (models, lifecycle)
    this.getView().addDependent(oDialog);
    //Create a Sort Item and add it to the dialog
    var oCustomSortItem = new sap.m.ViewSettingsItem({text:"New settings item"})
    oDialog.addSortItem(oCustomSortItem);
    oDialog.open();
    

    ViewSettingsDialog documentation

    ViewSettingsItem documentation

    推荐文章