From fe5848cf214f27b9807384870259982559b8f0e8 Mon Sep 17 00:00:00 2001 From: chengj Date: Fri, 20 May 2022 18:02:23 +0800 Subject: [PATCH] feat: contextMenuItem add hidden property (#1890) * fix: dropdown placement bottomCenter to bottom * feat: contextMenuItem add hidden property --- src/components/ContextMenu/src/ContextMenu.vue | 3 ++- src/components/ContextMenu/src/typing.ts | 1 + src/components/Tree/src/Tree.vue | 1 + src/components/Tree/src/tree.ts | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/ContextMenu/src/ContextMenu.vue b/src/components/ContextMenu/src/ContextMenu.vue index 3365fdf6..e08c25f3 100644 --- a/src/components/ContextMenu/src/ContextMenu.vue +++ b/src/components/ContextMenu/src/ContextMenu.vue @@ -89,7 +89,8 @@ } function renderMenuItem(items: ContextMenuItem[]) { - return items.map((item) => { + const visibleItems = items.filter((item) => !item.hidden); + return visibleItems.map((item) => { const { disabled, label, children, divider = false } = item; const contentProps = { diff --git a/src/components/ContextMenu/src/typing.ts b/src/components/ContextMenu/src/typing.ts index 899d36b2..63d3d37f 100644 --- a/src/components/ContextMenu/src/typing.ts +++ b/src/components/ContextMenu/src/typing.ts @@ -6,6 +6,7 @@ export interface Axis { export interface ContextMenuItem { label: string; icon?: string; + hidden?: boolean; disabled?: boolean; handler?: Fn; divider?: boolean; diff --git a/src/components/Tree/src/Tree.vue b/src/components/Tree/src/Tree.vue index 4e58e1ee..5fef510a 100644 --- a/src/components/Tree/src/Tree.vue +++ b/src/components/Tree/src/Tree.vue @@ -146,6 +146,7 @@ contextMenuOptions.items = menuList; } if (!contextMenuOptions.items?.length) return; + contextMenuOptions.items = contextMenuOptions.items.filter((item) => !item.hidden); createContextMenu(contextMenuOptions); } diff --git a/src/components/Tree/src/tree.ts b/src/components/Tree/src/tree.ts index c368b8bf..03fe57fe 100644 --- a/src/components/Tree/src/tree.ts +++ b/src/components/Tree/src/tree.ts @@ -141,6 +141,7 @@ export type TreeProps = ExtractPropTypes; export interface ContextMenuItem { label: string; icon?: string; + hidden?: boolean; disabled?: boolean; handler?: Fn; divider?: boolean;