From a587c33d57da79d85a1a6867e660416501ea3954 Mon Sep 17 00:00:00 2001 From: sakurayinfei <970412446@qq.com> Date: Wed, 15 Oct 2025 15:24:40 +0800 Subject: [PATCH] =?UTF-8?q?doc(menu):=20=E6=96=B0=E5=A2=9E=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/docs/icons/svgs/fill/menu.svg | 4 ++ .../src/menu/__docs__/__case__/CustomIcon.vue | 36 +++++++++++ .../menu/__docs__/__case__/MenuAccordion.vue | 33 +++++++++++ .../src/menu/__docs__/__case__/MenuSize.vue | 59 +++++++++++++++++++ .../src/menu/__docs__/index.en-US.md | 18 ++++++ .../src/menu/__docs__/index.zh-CN.md | 18 ++++++ packages/opendesign/src/menu/types.ts | 53 +++++++++++++---- 7 files changed, 211 insertions(+), 10 deletions(-) create mode 100644 packages/docs/icons/svgs/fill/menu.svg create mode 100644 packages/opendesign/src/menu/__docs__/__case__/CustomIcon.vue create mode 100644 packages/opendesign/src/menu/__docs__/__case__/MenuAccordion.vue create mode 100644 packages/opendesign/src/menu/__docs__/__case__/MenuSize.vue create mode 100644 packages/opendesign/src/menu/__docs__/index.en-US.md create mode 100644 packages/opendesign/src/menu/__docs__/index.zh-CN.md diff --git a/packages/docs/icons/svgs/fill/menu.svg b/packages/docs/icons/svgs/fill/menu.svg new file mode 100644 index 00000000..49c3c0c5 --- /dev/null +++ b/packages/docs/icons/svgs/fill/menu.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/packages/opendesign/src/menu/__docs__/__case__/CustomIcon.vue b/packages/opendesign/src/menu/__docs__/__case__/CustomIcon.vue new file mode 100644 index 00000000..4203cd27 --- /dev/null +++ b/packages/opendesign/src/menu/__docs__/__case__/CustomIcon.vue @@ -0,0 +1,36 @@ + + + +### 自定义图标 + + + +### Custom Icons + + + + diff --git a/packages/opendesign/src/menu/__docs__/__case__/MenuAccordion.vue b/packages/opendesign/src/menu/__docs__/__case__/MenuAccordion.vue new file mode 100644 index 00000000..8731a338 --- /dev/null +++ b/packages/opendesign/src/menu/__docs__/__case__/MenuAccordion.vue @@ -0,0 +1,33 @@ + + + +### 手风琴 + + + +### Accordion + + + diff --git a/packages/opendesign/src/menu/__docs__/__case__/MenuSize.vue b/packages/opendesign/src/menu/__docs__/__case__/MenuSize.vue new file mode 100644 index 00000000..0d5fcf01 --- /dev/null +++ b/packages/opendesign/src/menu/__docs__/__case__/MenuSize.vue @@ -0,0 +1,59 @@ + + + +### 不同尺寸 + +**注意**:在 `small` 尺寸下 + +- 展开/收起图标移至左侧,并增加左侧分割线以增强层级区分。 +- 不再支持自定义左侧图标(即 `icon` 属性及 `icon` 插槽无效)。 + + + +### Different Sizes + +**Note**: In the `small` size + +- The expand/collapse icon is moved to the left and a left divider is added to enhance hierarchical distinction. +- Custom left icons are no longer supported (i.e., the `icon` prop and `icon` slot are invalid). + + + + diff --git a/packages/opendesign/src/menu/__docs__/index.en-US.md b/packages/opendesign/src/menu/__docs__/index.en-US.md new file mode 100644 index 00000000..b6ce1cea --- /dev/null +++ b/packages/opendesign/src/menu/__docs__/index.en-US.md @@ -0,0 +1,18 @@ +--- +sidebar: OMenu +kind: nav +--- + +# OMenu + +## Demo + + + + + +## API + + + + diff --git a/packages/opendesign/src/menu/__docs__/index.zh-CN.md b/packages/opendesign/src/menu/__docs__/index.zh-CN.md new file mode 100644 index 00000000..447e98b7 --- /dev/null +++ b/packages/opendesign/src/menu/__docs__/index.zh-CN.md @@ -0,0 +1,18 @@ +--- +sidebar: OMenu 菜单 +kind: nav +--- + +# OMenu 菜单 + +## 示例 + + + + + +## API + + + + diff --git a/packages/opendesign/src/menu/types.ts b/packages/opendesign/src/menu/types.ts index 45c05a13..e265ed95 100644 --- a/packages/opendesign/src/menu/types.ts +++ b/packages/opendesign/src/menu/types.ts @@ -8,46 +8,57 @@ export const menuProps = { /** * @zh-CN 菜单尺寸 * @en-US Menu size + * @default 'medium' */ size: { type: String as PropType, - default: 'medium' + default: 'medium', }, /** - * 是否开启手风琴模式 + * @zh-CN 是否开启手风琴模式 + * @en-US Whether to enable accordion mode + * @default false */ accordion: { type: Boolean, default: false, }, /** - * 层级缩进 + * @zh-CN 层级缩进距离 + * @en-US Nested Indentation Distance + * @default 20 */ levelIndent: { type: Number, default: 20, }, /** - * 默认选中值 v-model + * @zh-CN 选中值 + * @en-US Selected value */ modelValue: { type: String, }, /** - * 非受控模式时,默认选中值 + * @zh-CN 非受控模式时,默认选中值 + * @en-US Default selected value when not controlled + * @default '' */ defaultValue: { type: String, default: '', }, /** - * 默认展开的子菜单值 v-model + * @zh-CN 展开节点值 + * @en-US Expanded node value */ expanded: { type: Array as PropType>, }, /** - * 非受控模式时,默认展开的子菜单值 + * @zh-CN 非受控模式时,默认展开节点值 + * @en-US Default expanded node value when not controlled + * @default [] */ defaultExpanded: { type: Array as PropType>, @@ -59,13 +70,25 @@ export type MenuPropsT = ExtractPropTypes; // SubMenuProps export const subMenuProps = { + /** + * @zh-CN 菜单项值 + * @en-US Menu item value + */ value: { type: String, - required: true, + required: true as const, }, + /** + * @zh-CN 菜单项是否可选 + * @en-US Whether the menu item is selectable + */ selectable: { type: Boolean, }, + /** + * @zh-CN 前缀图标 + * @en-US Prefix icon + */ icon: { type: Object as PropType, }, @@ -74,16 +97,26 @@ export type SubMenuPropsT = ExtractPropTypes; // MenuItemProps export const menuItemProps = { + /** + * @zh-CN 菜单项值 + * @en-US Menu item value + */ value: { type: String, - required: true, + required: true as const, }, /** - * 前缀图标 + * @zh-CN 前缀图标 + * @en-US Prefix icon */ icon: { type: Object as PropType, }, + /** + * @zh-CN 禁用 + * @en-US Disabled + * @default false + */ disabled: { type: Boolean, default: false, -- Gitee