0

我想使用 Syncfusion ej2 在我的选项卡上创建一个具有关闭选项卡功能的右键单击上下文菜单。但我找不到任何有关此特定功能的文档。

4

3 回答 3

0

您可以将 Syncfusion 中的上下文菜单作为内容模板添加到您的选项卡中。我希望以下文档对您有所帮助。

上下文菜单文档:
https ://ej2.syncfusion.com/angular/documentation/context-menu/getting-started/

使用标签文档模板:
https ://ej2.syncfusion.com/angular/documentation/tab/getting-started/#initialize-the-tab-using-template

于 2020-10-16T08:18:47.543 回答
0

我们已经检查了您报告的需求,并且可以通过使用 open 和 close 方法在我们的 ContextMenu 中实现。欲了解更多详情,请参阅以下链接。

API 链接:https ://ej2.syncfusion.com/documentation/api/context-menu/#open https://ej2.syncfusion.com/documentation/api/context-menu/#close

文档链接:https ://ej2.syncfusion.com/documentation/context-menu/how-to/open-and-close-contextmenu/

如果您需要进一步的帮助,请检查上述链接并与我们联系。

问候, Sangeetha M

于 2020-10-16T09:39:54.683 回答
0

您可以通过传递相应的索引来关闭选项卡来使用选项卡的“removeTab”公共方法。我们已根据您的要求准备了样品。

<div>
    <ejs-tab id="appTab" showCloseButton="true">
        <e-tab-tabitems>
            <e-tab-tabitem header="ViewBag.headerTextOne" content="@contentOne"></e-tab-tabitem>
            <e-tab-tabitem header="ViewBag.headerTextTwo" content="@contentTwo"></e-tab-tabitem>
            <e-tab-tabitem header="ViewBag.headerTextThree" content="@contentThree"></e-tab-tabitem>
        </e-tab-tabitems>
    </ejs-tab>
    <ejs-contextmenu id="contextmenu" target="#appTab" items="ViewBag.menuItems" select="menuClick"></ejs-contextmenu>
</div>

<script>
    function menuClick(args) {
        if (args.item.text == "Close All") {
            var tab = document.getElementById('appTab').ej2_instances[0];
            for (i = $('#appTab .e-toolbar-item').length; i >= 0; i--) {
                tab.removeTab(i);
            }
        } else if (args.item.text == "Close This Tab") {
            var tab = document.getElementById('appTab').ej2_instances[0];
            var activeTab = tab.selectedItem;
            tab.removeTab(activeTab);
        }
    }
</script>

示例:https ://www.syncfusion.com/downloads/support/directtrac/298062/ze/TabComponent673764834 https://ej2.syncfusion.com/documentation/api/tab/#removetab

问候, Sangeetha M

于 2020-10-27T10:17:45.807 回答