diff --git a/db/TDesign.db b/db/TDesign.db index bdabedaa4..489d760e6 100644 Binary files a/db/TDesign.db and b/db/TDesign.db differ diff --git a/packages/products/tdesign-react/src/menu/defaultProps.ts b/packages/products/tdesign-react/src/menu/defaultProps.ts index f2aad325b..653a8ed62 100644 --- a/packages/products/tdesign-react/src/menu/defaultProps.ts +++ b/packages/products/tdesign-react/src/menu/defaultProps.ts @@ -2,7 +2,7 @@ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ -import { TdMenuProps, TdHeadMenuProps } from './type'; +import { TdMenuProps, TdHeadMenuProps, TdMenuItemProps } from './type'; export const menuDefaultProps: TdMenuProps = { collapsed: false, @@ -14,3 +14,5 @@ export const menuDefaultProps: TdMenuProps = { }; export const headMenuDefaultProps: TdHeadMenuProps = { expandType: 'normal', expanded: [], theme: 'light' }; + +export const menuItemDefaultProps: TdMenuItemProps = { target: '_self' }; diff --git a/packages/products/tdesign-react/src/menu/menu.en-US.md b/packages/products/tdesign-react/src/menu/menu.en-US.md index 1a83bc726..a99bd69a0 100644 --- a/packages/products/tdesign-react/src/menu/menu.en-US.md +++ b/packages/products/tdesign-react/src/menu/menu.en-US.md @@ -1,7 +1,6 @@ :: BASE_DOC :: ## API - ### Menu Props name | type | default | description | required @@ -10,15 +9,15 @@ className | String | - | 类名 | N style | Object | - | 样式,Typescript:`React.CSSProperties` | N collapsed | Boolean | false | \- | N expandMutex | Boolean | false | \- | N -expandType | String | normal | options:normal/popup | N +expandType | String | normal | options: normal/popup | N expanded | Array | [] | Typescript:`Array` | N defaultExpanded | Array | [] | uncontrolled property。Typescript:`Array` | N logo | TElement | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N operations | TElement | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -theme | String | light | Menu can be light mode or dark mode.。options:light/dark/global/system | N -value | String / Number | - | Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N -width | String / Number / Array | '232px' | Typescript:`string | number | Array` | N +theme | String | light | Menu can be light mode or dark mode.。options: light/dark/global/system | N +value | String / Number | - | Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +width | String / Number / Array | '232px' | Typescript:`string \| number \| Array` | N onChange | Function | | Typescript:`(value: MenuValue) => void`
| N onExpand | Function | | Typescript:`(value: Array) => void`
| N @@ -28,14 +27,13 @@ name | type | default | description | required -- | -- | -- | -- | -- className | String | - | 类名 | N style | Object | - | 样式,Typescript:`React.CSSProperties` | N -expandType | String | normal | options:normal/popup | N +expandType | String | normal | options: normal/popup | N expanded | Array | [] | Typescript:`Array` | N -defaultExpanded | Array | [] | uncontrolled property。Typescript:`Array` | N logo | TElement | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N operations | TElement | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -theme | String | light | options:light/dark | N -value | String / Number | - | Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +theme | String | light | options: light/dark | N +value | String / Number | - | Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N onChange | Function | | Typescript:`(value: MenuValue) => void`
| N onExpand | Function | | Typescript:`(value: Array) => void`
| N @@ -45,11 +43,12 @@ name | type | default | description | required -- | -- | -- | -- | -- className | String | - | 类名 | N style | Object | - | 样式,Typescript:`React.CSSProperties` | N -children | TNode | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -content | TNode | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +children | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +content | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N disabled | Boolean | - | \- | N icon | TElement | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -title | TNode | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +popupProps | Object | - | Transparent all feature props of the Popup。Typescript:`PopupProps`,[Popup API Documents](./popup?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +title | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N value | String / Number | - | Typescript:`MenuValue` | N ### MenuItem Props @@ -58,12 +57,12 @@ name | type | default | description | required -- | -- | -- | -- | -- className | String | - | 类名 | N style | Object | - | 样式,Typescript:`React.CSSProperties` | N -children | TNode | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -content | TNode | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +children | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +content | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N disabled | Boolean | - | \- | N href | String | - | \- | N icon | TElement | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -target | String | - | options:_blank/_self/_parent/_top | N +target | String | _self | options: _blank/_self/_parent/_top | N value | String / Number | - | Typescript:`MenuValue` | N onClick | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on click | N @@ -73,4 +72,4 @@ name | type | default | description | required -- | -- | -- | -- | -- className | String | - | 类名 | N style | Object | - | 样式,Typescript:`React.CSSProperties` | N -title | TNode | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +title | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N diff --git a/packages/products/tdesign-react/src/menu/menu.md b/packages/products/tdesign-react/src/menu/menu.md index 45e955b4b..ee9f8e191 100644 --- a/packages/products/tdesign-react/src/menu/menu.md +++ b/packages/products/tdesign-react/src/menu/menu.md @@ -1,7 +1,6 @@ :: BASE_DOC :: ## API - ### Menu Props 名称 | 类型 | 默认值 | 说明 | 必传 @@ -16,9 +15,9 @@ defaultExpanded | Array | [] | 子菜单展开的导航集合。非受控属性 logo | TElement | - | 站点 LOGO。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N operations | TElement | - | 导航操作区域。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N theme | String | light | 菜单风格,有亮色模式和暗色模式两种。当 `theme = global` 时,模式随整个组件库;当 `theme = system` 时,模式跟随系统。⚠️ `global/system` 正在开发中,暂勿使用。可选项:light/dark/global/system | N -value | String / Number | - | 激活菜单项。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N -width | String / Number / Array | '232px' | 菜单宽度。值类型为数组时,分别表示菜单展开和折叠的宽度。[ 展开时的宽度, 折叠时的宽度 ],示例:['200px', '80px']。TS 类型:`string | number | Array` | N +value | String / Number | - | 激活菜单项。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +width | String / Number / Array | '232px' | 菜单宽度。值类型为数组时,分别表示菜单展开和折叠的宽度。[ 展开时的宽度, 折叠时的宽度 ],示例:['200px', '80px']。TS 类型:`string \| number \| Array` | N onChange | Function | | TS 类型:`(value: MenuValue) => void`
激活菜单项发生变化时触发 | N onExpand | Function | | TS 类型:`(value: Array) => void`
展开的菜单项发生变化时触发 | N @@ -30,12 +29,11 @@ className | String | - | 类名 | N style | Object | - | 样式,TS 类型:`React.CSSProperties` | N expandType | String | normal | 二级菜单展开方式,平铺展开和浮层展开。可选项:normal/popup | N expanded | Array | [] | 展开的子菜单集合。TS 类型:`Array` | N -defaultExpanded | Array | [] | 展开的子菜单集合。非受控属性。TS 类型:`Array` | N logo | TElement | - | 站点 LOGO。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N operations | TElement | - | 导航操作区域。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N theme | String | light | 可选项:light/dark | N -value | String / Number | - | 激活菜单项。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +value | String / Number | - | 激活菜单项。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N onChange | Function | | TS 类型:`(value: MenuValue) => void`
激活菜单项发生变化时触发 | N onExpand | Function | | TS 类型:`(value: Array) => void`
展开的菜单项发生变化时触发 | N @@ -45,11 +43,12 @@ onExpand | Function | | TS 类型:`(value: Array) => void`
展 -- | -- | -- | -- | -- className | String | - | 类名 | N style | Object | - | 样式,TS 类型:`React.CSSProperties` | N -children | TNode | - | 菜单项内容,同 content。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -content | TNode | - | 菜单项内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +children | TNode | - | 菜单项内容,同 content。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +content | TNode | - | 菜单项内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N disabled | Boolean | - | 是否禁用菜单项展开/收起/跳转等功能 | N icon | TElement | - | 菜单项图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -title | TNode | - | 二级菜单内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +popupProps | Object | - | 透传 Popup 组件全部特性。TS 类型:`PopupProps`,[Popup API Documents](./popup?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/menu/type.ts) | N +title | TNode | - | 二级菜单内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N value | String / Number | - | 菜单项唯一标识。TS 类型:`MenuValue` | N ### MenuItem Props @@ -58,12 +57,12 @@ value | String / Number | - | 菜单项唯一标识。TS 类型:`MenuValue` | -- | -- | -- | -- | -- className | String | - | 类名 | N style | Object | - | 样式,TS 类型:`React.CSSProperties` | N -children | TNode | - | 菜单项内容,同 content。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -content | TNode | - | 菜单项内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +children | TNode | - | 菜单项内容,同 content。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +content | TNode | - | 菜单项内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N disabled | Boolean | - | 是否禁用菜单项展开/收起/跳转等功能 | N href | String | - | 跳转链接 | N icon | TElement | - | 图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N -target | String | - | 链接或路由跳转方式。可选项:_blank/_self/_parent/_top | N +target | String | _self | 链接或路由跳转方式。可选项:_blank/_self/_parent/_top | N value | String / Number | - | 菜单项唯一标识。TS 类型:`MenuValue` | N onClick | Function | | TS 类型:`(context: { e: MouseEvent }) => void`
点击时触发 | N @@ -73,4 +72,4 @@ onClick | Function | | TS 类型:`(context: { e: MouseEvent }) => void`
-- | -- | -- | -- | -- className | String | - | 类名 | N style | Object | - | 样式,TS 类型:`React.CSSProperties` | N -title | TNode | - | 菜单组标题。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +title | TNode | - | 菜单组标题。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N diff --git a/packages/products/tdesign-react/src/menu/type.ts b/packages/products/tdesign-react/src/menu/type.ts index 1131c8c93..dc163b3d8 100644 --- a/packages/products/tdesign-react/src/menu/type.ts +++ b/packages/products/tdesign-react/src/menu/type.ts @@ -4,6 +4,7 @@ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ +import { PopupProps } from '../popup'; import { TNode, TElement } from '../common'; import { MouseEvent } from 'react'; @@ -133,6 +134,10 @@ export interface TdSubmenuProps { * 菜单项图标 */ icon?: TElement; + /** + * 透传 Popup 组件全部特性 + */ + popupProps?: PopupProps; /** * 二级菜单内容 */ @@ -167,6 +172,7 @@ export interface TdMenuItemProps { icon?: TElement; /** * 链接或路由跳转方式 + * @default _self */ target?: '_blank' | '_self' | '_parent' | '_top'; /** diff --git a/packages/products/tdesign-vue-next/src/menu/head-menu-props.ts b/packages/products/tdesign-vue-next/src/menu/head-menu-props.ts index a9644b5ca..2027cc79d 100644 --- a/packages/products/tdesign-vue-next/src/menu/head-menu-props.ts +++ b/packages/products/tdesign-vue-next/src/menu/head-menu-props.ts @@ -20,7 +20,7 @@ export default { /** 展开的子菜单集合 */ expanded: { type: Array as PropType, - default: undefined, + default: undefined as TdHeadMenuProps['expanded'], }, /** 展开的子菜单集合,非受控属性 */ defaultExpanded: { @@ -47,11 +47,11 @@ export default { /** 激活菜单项 */ value: { type: [String, Number] as PropType, - default: undefined, + default: undefined as TdHeadMenuProps['value'], }, modelValue: { type: [String, Number] as PropType, - default: undefined, + default: undefined as TdHeadMenuProps['value'], }, /** 激活菜单项,非受控属性 */ defaultValue: { diff --git a/packages/products/tdesign-vue-next/src/menu/menu-item-props.ts b/packages/products/tdesign-vue-next/src/menu/menu-item-props.ts index e2bbc2b1a..ee1de9513 100644 --- a/packages/products/tdesign-vue-next/src/menu/menu-item-props.ts +++ b/packages/products/tdesign-vue-next/src/menu/menu-item-props.ts @@ -36,6 +36,7 @@ export default { /** 链接或路由跳转方式 */ target: { type: String as PropType, + default: '_self' as TdMenuItemProps['target'], validator(val: TdMenuItemProps['target']): boolean { if (!val) return true; return ['_blank', '_self', '_parent', '_top'].includes(val); diff --git a/packages/products/tdesign-vue-next/src/menu/menu.en-US.md b/packages/products/tdesign-vue-next/src/menu/menu.en-US.md index 70dabba4d..0d8993951 100644 --- a/packages/products/tdesign-vue-next/src/menu/menu.en-US.md +++ b/packages/products/tdesign-vue-next/src/menu/menu.en-US.md @@ -1,22 +1,21 @@ :: BASE_DOC :: ## API - ### Menu Props name | type | default | description | required -- | -- | -- | -- | -- collapsed | Boolean | false | \- | N expandMutex | Boolean | false | \- | N -expandType | String | normal | options:normal/popup | N +expandType | String | normal | options: normal/popup | N expanded | Array | [] | `v-model:expanded` is supported。Typescript:`Array` | N defaultExpanded | Array | [] | uncontrolled property。Typescript:`Array` | N logo | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N operations | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N -theme | String | light | Menu can be light mode or dark mode.。options:light/dark/global/system | N -value | String / Number | - | `v-model` and `v-model:value` is supported。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N -width | String / Number / Array | '232px' | Typescript:`string | number | Array` | N +theme | String | light | Menu can be light mode or dark mode.。options: light/dark/global/system | N +value | String / Number | - | `v-model` and `v-model:value` is supported。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +width | String / Number / Array | '232px' | Typescript:`string \| number \| Array` | N onChange | Function | | Typescript:`(value: MenuValue) => void`
| N onExpand | Function | | Typescript:`(value: Array) => void`
| N @@ -31,14 +30,13 @@ expand | `(value: Array)` | \- name | type | default | description | required -- | -- | -- | -- | -- -expandType | String | normal | options:normal/popup | N +expandType | String | normal | options: normal/popup | N expanded | Array | [] | `v-model:expanded` is supported。Typescript:`Array` | N -defaultExpanded | Array | [] | uncontrolled property。Typescript:`Array` | N logo | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N operations | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N -theme | String | light | options:light/dark | N -value | String / Number | - | `v-model` and `v-model:value` is supported。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +theme | String | light | options: light/dark | N +value | String / Number | - | `v-model` and `v-model:value` is supported。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N onChange | Function | | Typescript:`(value: MenuValue) => void`
| N onExpand | Function | | Typescript:`(value: Array) => void`
| N @@ -53,26 +51,27 @@ expand | `(value: Array)` | \- name | type | default | description | required -- | -- | -- | -- | -- -content | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N -default | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +content | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +default | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N disabled | Boolean | - | \- | N icon | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N -title | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +popupProps | Object | - | Transparent all feature props of the Popup。Typescript:`PopupProps`,[Popup API Documents](./popup?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +title | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N value | String / Number | - | Typescript:`MenuValue` | N ### MenuItem Props name | type | default | description | required -- | -- | -- | -- | -- -content | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N -default | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +content | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +default | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N disabled | Boolean | - | \- | N href | String | - | \- | N icon | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N replace | Boolean | false | \- | N router | Object | - | Typescript:`Record` | N -target | String | - | options:_blank/_self/_parent/_top | N -to | String / Object | - | Typescript:`MenuRoute` `interface MenuRoute { path?: string; name?: string; hash?: string; query?: MenuQueryData; params?: MenuQueryData }` `type MenuQueryData = { [key: string]: string | string[] }`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +target | String | _self | options: _blank/_self/_parent/_top | N +to | String / Object | - | Typescript:`MenuRoute` `interface MenuRoute { path?: string; name?: string; hash?: string; query?: MenuQueryData; params?: MenuQueryData }` `type MenuQueryData = { [key: string]: string \| string[] }`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N value | String / Number | - | Typescript:`MenuValue` | N onClick | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on click | N @@ -86,4 +85,4 @@ click | `(context: { e: MouseEvent })` | trigger on click name | type | default | description | required -- | -- | -- | -- | -- -title | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +title | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N diff --git a/packages/products/tdesign-vue-next/src/menu/menu.md b/packages/products/tdesign-vue-next/src/menu/menu.md index c380f394e..74062e29b 100644 --- a/packages/products/tdesign-vue-next/src/menu/menu.md +++ b/packages/products/tdesign-vue-next/src/menu/menu.md @@ -1,7 +1,6 @@ :: BASE_DOC :: ## API - ### Menu Props 名称 | 类型 | 默认值 | 说明 | 必传 @@ -14,9 +13,9 @@ defaultExpanded | Array | [] | 子菜单展开的导航集合。非受控属性 logo | Slot / Function | - | 站点 LOGO。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N operations | Slot / Function | - | 导航操作区域。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N theme | String | light | 菜单风格,有亮色模式和暗色模式两种。当 `theme = global` 时,模式随整个组件库;当 `theme = system` 时,模式跟随系统。⚠️ `global/system` 正在开发中,暂勿使用。可选项:light/dark/global/system | N -value | String / Number | - | 激活菜单项。支持语法糖 `v-model` 或 `v-model:value`。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N -width | String / Number / Array | '232px' | 菜单宽度。值类型为数组时,分别表示菜单展开和折叠的宽度。[ 展开时的宽度, 折叠时的宽度 ],示例:['200px', '80px']。TS 类型:`string | number | Array` | N +value | String / Number | - | 激活菜单项。支持语法糖 `v-model` 或 `v-model:value`。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +width | String / Number / Array | '232px' | 菜单宽度。值类型为数组时,分别表示菜单展开和折叠的宽度。[ 展开时的宽度, 折叠时的宽度 ],示例:['200px', '80px']。TS 类型:`string \| number \| Array` | N onChange | Function | | TS 类型:`(value: MenuValue) => void`
激活菜单项发生变化时触发 | N onExpand | Function | | TS 类型:`(value: Array) => void`
展开的菜单项发生变化时触发 | N @@ -33,12 +32,11 @@ expand | `(value: Array)` | 展开的菜单项发生变化时触发 -- | -- | -- | -- | -- expandType | String | normal | 二级菜单展开方式,平铺展开和浮层展开。可选项:normal/popup | N expanded | Array | [] | 展开的子菜单集合。支持语法糖 `v-model:expanded`。TS 类型:`Array` | N -defaultExpanded | Array | [] | 展开的子菜单集合。非受控属性。TS 类型:`Array` | N logo | Slot / Function | - | 站点 LOGO。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N operations | Slot / Function | - | 导航操作区域。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N theme | String | light | 可选项:light/dark | N -value | String / Number | - | 激活菜单项。支持语法糖 `v-model` 或 `v-model:value`。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +value | String / Number | - | 激活菜单项。支持语法糖 `v-model` 或 `v-model:value`。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N onChange | Function | | TS 类型:`(value: MenuValue) => void`
激活菜单项发生变化时触发 | N onExpand | Function | | TS 类型:`(value: Array) => void`
展开的菜单项发生变化时触发 | N @@ -53,26 +51,27 @@ expand | `(value: Array)` | 展开的菜单项发生变化时触发 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -content | String / Slot / Function | - | 菜单项内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N -default | String / Slot / Function | - | 菜单项内容,同 content。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +content | String / Slot / Function | - | 菜单项内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +default | String / Slot / Function | - | 菜单项内容,同 content。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N disabled | Boolean | - | 是否禁用菜单项展开/收起/跳转等功能 | N icon | Slot / Function | - | 菜单项图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N -title | String / Slot / Function | - | 二级菜单内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +popupProps | Object | - | 透传 Popup 组件全部特性。TS 类型:`PopupProps`,[Popup API Documents](./popup?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +title | String / Slot / Function | - | 二级菜单内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N value | String / Number | - | 菜单项唯一标识。TS 类型:`MenuValue` | N ### MenuItem Props 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -content | String / Slot / Function | - | 菜单项内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N -default | String / Slot / Function | - | 菜单项内容,同 content。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +content | String / Slot / Function | - | 菜单项内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +default | String / Slot / Function | - | 菜单项内容,同 content。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N disabled | Boolean | - | 是否禁用菜单项展开/收起/跳转等功能 | N href | String | - | 跳转链接 | N icon | Slot / Function | - | 图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N replace | Boolean | false | 路由跳转是否采用覆盖的方式(覆盖后将没有浏览器历史记录) | N router | Object | - | 路由对象。如果项目存在 Router,则默认使用 Router。。TS 类型:`Record` | N -target | String | - | 链接或路由跳转方式。可选项:_blank/_self/_parent/_top | N -to | String / Object | - | 路由跳转目标,当且仅当 Router 存在时,该 API 有效。TS 类型:`MenuRoute` `interface MenuRoute { path?: string; name?: string; hash?: string; query?: MenuQueryData; params?: MenuQueryData }` `type MenuQueryData = { [key: string]: string | string[] }`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N +target | String | _self | 链接或路由跳转方式。可选项:_blank/_self/_parent/_top | N +to | String / Object | - | 路由跳转目标,当且仅当 Router 存在时,该 API 有效。TS 类型:`MenuRoute` `interface MenuRoute { path?: string; name?: string; hash?: string; query?: MenuQueryData; params?: MenuQueryData }` `type MenuQueryData = { [key: string]: string \| string[] }`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/menu/type.ts) | N value | String / Number | - | 菜单项唯一标识。TS 类型:`MenuValue` | N onClick | Function | | TS 类型:`(context: { e: MouseEvent }) => void`
点击时触发 | N @@ -86,4 +85,4 @@ click | `(context: { e: MouseEvent })` | 点击时触发 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -title | String / Slot / Function | - | 菜单组标题。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +title | String / Slot / Function | - | 菜单组标题。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N diff --git a/packages/products/tdesign-vue-next/src/menu/props.ts b/packages/products/tdesign-vue-next/src/menu/props.ts index c1635a393..27e79ebb6 100644 --- a/packages/products/tdesign-vue-next/src/menu/props.ts +++ b/packages/products/tdesign-vue-next/src/menu/props.ts @@ -24,7 +24,7 @@ export default { /** 子菜单展开的导航集合 */ expanded: { type: Array as PropType, - default: undefined, + default: undefined as TdMenuProps['expanded'], }, /** 子菜单展开的导航集合,非受控属性 */ defaultExpanded: { @@ -51,11 +51,11 @@ export default { /** 激活菜单项 */ value: { type: [String, Number] as PropType, - default: undefined, + default: undefined as TdMenuProps['value'], }, modelValue: { type: [String, Number] as PropType, - default: undefined, + default: undefined as TdMenuProps['value'], }, /** 激活菜单项,非受控属性 */ defaultValue: { @@ -64,7 +64,7 @@ export default { /** 菜单宽度。值类型为数组时,分别表示菜单展开和折叠的宽度。[ 展开时的宽度, 折叠时的宽度 ],示例:['200px', '80px'] */ width: { type: [String, Number, Array] as PropType, - default: '232px', + default: '232px' as TdMenuProps['width'], }, /** 激活菜单项发生变化时触发 */ onChange: Function as PropType, diff --git a/packages/products/tdesign-vue-next/src/menu/submenu-props.ts b/packages/products/tdesign-vue-next/src/menu/submenu-props.ts index 7426df395..563a68321 100644 --- a/packages/products/tdesign-vue-next/src/menu/submenu-props.ts +++ b/packages/products/tdesign-vue-next/src/menu/submenu-props.ts @@ -22,6 +22,10 @@ export default { icon: { type: Function as PropType, }, + /** 透传 Popup 组件全部特性 */ + popupProps: { + type: Object as PropType, + }, /** 二级菜单内容 */ title: { type: [String, Function] as PropType, diff --git a/packages/products/tdesign-vue-next/src/menu/type.ts b/packages/products/tdesign-vue-next/src/menu/type.ts index 38faa1b6c..098dc3166 100644 --- a/packages/products/tdesign-vue-next/src/menu/type.ts +++ b/packages/products/tdesign-vue-next/src/menu/type.ts @@ -4,6 +4,7 @@ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ +import { PopupProps } from '../popup'; import { TNode } from '../common'; export interface TdMenuProps { @@ -140,6 +141,10 @@ export interface TdSubmenuProps { * 菜单项图标 */ icon?: TNode; + /** + * 透传 Popup 组件全部特性 + */ + popupProps?: PopupProps; /** * 二级菜单内容 */ @@ -183,6 +188,7 @@ export interface TdMenuItemProps { router?: Record; /** * 链接或路由跳转方式 + * @default _self */ target?: '_blank' | '_self' | '_parent' | '_top'; /** diff --git a/packages/products/tdesign-vue/src/menu/menu-item-props.ts b/packages/products/tdesign-vue/src/menu/menu-item-props.ts index e2bbc2b1a..ee1de9513 100644 --- a/packages/products/tdesign-vue/src/menu/menu-item-props.ts +++ b/packages/products/tdesign-vue/src/menu/menu-item-props.ts @@ -36,6 +36,7 @@ export default { /** 链接或路由跳转方式 */ target: { type: String as PropType, + default: '_self' as TdMenuItemProps['target'], validator(val: TdMenuItemProps['target']): boolean { if (!val) return true; return ['_blank', '_self', '_parent', '_top'].includes(val); diff --git a/packages/products/tdesign-vue/src/menu/menu.en-US.md b/packages/products/tdesign-vue/src/menu/menu.en-US.md index 19c2ad3bb..e9e7cf785 100644 --- a/packages/products/tdesign-vue/src/menu/menu.en-US.md +++ b/packages/products/tdesign-vue/src/menu/menu.en-US.md @@ -1,22 +1,21 @@ :: BASE_DOC :: ## API - ### Menu Props name | type | default | description | required -- | -- | -- | -- | -- collapsed | Boolean | false | \- | N expandMutex | Boolean | false | \- | N -expandType | String | normal | options:normal/popup | N +expandType | String | normal | options: normal/popup | N expanded | Array | [] | `.sync` is supported。Typescript:`Array` | N defaultExpanded | Array | [] | uncontrolled property。Typescript:`Array` | N logo | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N operations | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -theme | String | light | Menu can be light mode or dark mode.。options:light/dark/global/system | N -value | String / Number | - | `v-model` is supported。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N -width | String / Number / Array | '232px' | Typescript:`string | number | Array` | N +theme | String | light | Menu can be light mode or dark mode.。options: light/dark/global/system | N +value | String / Number | - | `v-model` is supported。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +width | String / Number / Array | '232px' | Typescript:`string \| number \| Array` | N onChange | Function | | Typescript:`(value: MenuValue) => void`
| N onExpand | Function | | Typescript:`(value: Array) => void`
| N @@ -31,14 +30,13 @@ expand | `(value: Array)` | \- name | type | default | description | required -- | -- | -- | -- | -- -expandType | String | normal | options:normal/popup | N +expandType | String | normal | options: normal/popup | N expanded | Array | [] | `.sync` is supported。Typescript:`Array` | N -defaultExpanded | Array | [] | uncontrolled property。Typescript:`Array` | N logo | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N operations | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -theme | String | light | options:light/dark | N -value | String / Number | - | `v-model` is supported。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string | number`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +theme | String | light | options: light/dark | N +value | String / Number | - | `v-model` is supported。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | uncontrolled property。Typescript:`MenuValue` `type MenuValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N onChange | Function | | Typescript:`(value: MenuValue) => void`
| N onExpand | Function | | Typescript:`(value: Array) => void`
| N @@ -53,26 +51,27 @@ expand | `(value: Array)` | \- name | type | default | description | required -- | -- | -- | -- | -- -content | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -default | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +content | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +default | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N disabled | Boolean | - | \- | N icon | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -title | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +popupProps | Object | - | Transparent all feature props of the Popup。Typescript:`PopupProps`,[Popup API Documents](./popup?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +title | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N value | String / Number | - | Typescript:`MenuValue` | N ### MenuItem Props name | type | default | description | required -- | -- | -- | -- | -- -content | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -default | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +content | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +default | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N disabled | Boolean | - | \- | N href | String | - | \- | N icon | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N replace | Boolean | false | \- | N router | Object | - | Typescript:`Record` | N -target | String | - | options:_blank/_self/_parent/_top | N -to | String / Object | - | Typescript:`MenuRoute` `interface MenuRoute { path?: string; name?: string; hash?: string; query?: MenuQueryData; params?: MenuQueryData }` `type MenuQueryData = { [key: string]: string | string[] }`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +target | String | _self | options: _blank/_self/_parent/_top | N +to | String / Object | - | Typescript:`MenuRoute` `interface MenuRoute { path?: string; name?: string; hash?: string; query?: MenuQueryData; params?: MenuQueryData }` `type MenuQueryData = { [key: string]: string \| string[] }`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N value | String / Number | - | Typescript:`MenuValue` | N onClick | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on click | N @@ -86,4 +85,4 @@ click | `(context: { e: MouseEvent })` | trigger on click name | type | default | description | required -- | -- | -- | -- | -- -title | String / Slot / Function | - | Typescript:`string | TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +title | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N diff --git a/packages/products/tdesign-vue/src/menu/menu.md b/packages/products/tdesign-vue/src/menu/menu.md index b1a2771ac..f79e105fb 100644 --- a/packages/products/tdesign-vue/src/menu/menu.md +++ b/packages/products/tdesign-vue/src/menu/menu.md @@ -1,7 +1,6 @@ :: BASE_DOC :: ## API - ### Menu Props 名称 | 类型 | 默认值 | 说明 | 必传 @@ -14,9 +13,9 @@ defaultExpanded | Array | [] | 子菜单展开的导航集合。非受控属性 logo | Slot / Function | - | 站点 LOGO。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N operations | Slot / Function | - | 导航操作区域。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N theme | String | light | 菜单风格,有亮色模式和暗色模式两种。当 `theme = global` 时,模式随整个组件库;当 `theme = system` 时,模式跟随系统。⚠️ `global/system` 正在开发中,暂勿使用。可选项:light/dark/global/system | N -value | String / Number | - | 激活菜单项。支持语法糖 `v-model`。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N -width | String / Number / Array | '232px' | 菜单宽度。值类型为数组时,分别表示菜单展开和折叠的宽度。[ 展开时的宽度, 折叠时的宽度 ],示例:['200px', '80px']。TS 类型:`string | number | Array` | N +value | String / Number | - | 激活菜单项。支持语法糖 `v-model`。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +width | String / Number / Array | '232px' | 菜单宽度。值类型为数组时,分别表示菜单展开和折叠的宽度。[ 展开时的宽度, 折叠时的宽度 ],示例:['200px', '80px']。TS 类型:`string \| number \| Array` | N onChange | Function | | TS 类型:`(value: MenuValue) => void`
激活菜单项发生变化时触发 | N onExpand | Function | | TS 类型:`(value: Array) => void`
展开的菜单项发生变化时触发 | N @@ -33,12 +32,11 @@ expand | `(value: Array)` | 展开的菜单项发生变化时触发 -- | -- | -- | -- | -- expandType | String | normal | 二级菜单展开方式,平铺展开和浮层展开。可选项:normal/popup | N expanded | Array | [] | 展开的子菜单集合。支持语法糖 `.sync`。TS 类型:`Array` | N -defaultExpanded | Array | [] | 展开的子菜单集合。非受控属性。TS 类型:`Array` | N logo | Slot / Function | - | 站点 LOGO。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N operations | Slot / Function | - | 导航操作区域。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N theme | String | light | 可选项:light/dark | N -value | String / Number | - | 激活菜单项。支持语法糖 `v-model`。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N -defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string | number`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +value | String / Number | - | 激活菜单项。支持语法糖 `v-model`。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +defaultValue | String / Number | - | 激活菜单项。非受控属性。TS 类型:`MenuValue` `type MenuValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N onChange | Function | | TS 类型:`(value: MenuValue) => void`
激活菜单项发生变化时触发 | N onExpand | Function | | TS 类型:`(value: Array) => void`
展开的菜单项发生变化时触发 | N @@ -53,26 +51,27 @@ expand | `(value: Array)` | 展开的菜单项发生变化时触发 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -content | String / Slot / Function | - | 菜单项内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -default | String / Slot / Function | - | 菜单项内容,同 content。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +content | String / Slot / Function | - | 菜单项内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +default | String / Slot / Function | - | 菜单项内容,同 content。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N disabled | Boolean | - | 是否禁用菜单项展开/收起/跳转等功能 | N icon | Slot / Function | - | 菜单项图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -title | String / Slot / Function | - | 二级菜单内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +popupProps | Object | - | 透传 Popup 组件全部特性。TS 类型:`PopupProps`,[Popup API Documents](./popup?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +title | String / Slot / Function | - | 二级菜单内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N value | String / Number | - | 菜单项唯一标识。TS 类型:`MenuValue` | N ### MenuItem Props 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -content | String / Slot / Function | - | 菜单项内容。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -default | String / Slot / Function | - | 菜单项内容,同 content。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +content | String / Slot / Function | - | 菜单项内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +default | String / Slot / Function | - | 菜单项内容,同 content。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N disabled | Boolean | - | 是否禁用菜单项展开/收起/跳转等功能 | N href | String | - | 跳转链接 | N icon | Slot / Function | - | 图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N replace | Boolean | false | 路由跳转是否采用覆盖的方式(覆盖后将没有浏览器历史记录) | N router | Object | - | 路由对象。如果项目存在 Router,则默认使用 Router。。TS 类型:`Record` | N -target | String | - | 链接或路由跳转方式。可选项:_blank/_self/_parent/_top | N -to | String / Object | - | 路由跳转目标,当且仅当 Router 存在时,该 API 有效。TS 类型:`MenuRoute` `interface MenuRoute { path?: string; name?: string; hash?: string; query?: MenuQueryData; params?: MenuQueryData }` `type MenuQueryData = { [key: string]: string | string[] }`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N +target | String | _self | 链接或路由跳转方式。可选项:_blank/_self/_parent/_top | N +to | String / Object | - | 路由跳转目标,当且仅当 Router 存在时,该 API 有效。TS 类型:`MenuRoute` `interface MenuRoute { path?: string; name?: string; hash?: string; query?: MenuQueryData; params?: MenuQueryData }` `type MenuQueryData = { [key: string]: string \| string[] }`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/menu/type.ts) | N value | String / Number | - | 菜单项唯一标识。TS 类型:`MenuValue` | N onClick | Function | | TS 类型:`(context: { e: MouseEvent }) => void`
点击时触发 | N @@ -86,4 +85,4 @@ click | `(context: { e: MouseEvent })` | 点击时触发 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -title | String / Slot / Function | - | 菜单组标题。TS 类型:`string | TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +title | String / Slot / Function | - | 菜单组标题。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N diff --git a/packages/products/tdesign-vue/src/menu/submenu-props.ts b/packages/products/tdesign-vue/src/menu/submenu-props.ts index 7426df395..563a68321 100644 --- a/packages/products/tdesign-vue/src/menu/submenu-props.ts +++ b/packages/products/tdesign-vue/src/menu/submenu-props.ts @@ -22,6 +22,10 @@ export default { icon: { type: Function as PropType, }, + /** 透传 Popup 组件全部特性 */ + popupProps: { + type: Object as PropType, + }, /** 二级菜单内容 */ title: { type: [String, Function] as PropType, diff --git a/packages/products/tdesign-vue/src/menu/type.ts b/packages/products/tdesign-vue/src/menu/type.ts index cc34b2946..23c74e299 100644 --- a/packages/products/tdesign-vue/src/menu/type.ts +++ b/packages/products/tdesign-vue/src/menu/type.ts @@ -4,6 +4,7 @@ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ +import { PopupProps } from '../popup'; import { TNode } from '../common'; export interface TdMenuProps { @@ -132,6 +133,10 @@ export interface TdSubmenuProps { * 菜单项图标 */ icon?: TNode; + /** + * 透传 Popup 组件全部特性 + */ + popupProps?: PopupProps; /** * 二级菜单内容 */ @@ -175,6 +180,7 @@ export interface TdMenuItemProps { router?: Record; /** * 链接或路由跳转方式 + * @default _self */ target?: '_blank' | '_self' | '_parent' | '_top'; /** diff --git a/packages/scripts/api.json b/packages/scripts/api.json index 5744fdf9c..68243c15c 100644 --- a/packages/scripts/api.json +++ b/packages/scripts/api.json @@ -61216,7 +61216,7 @@ "field_type": [ "1" ], - "field_default_value": "", + "field_default_value": "_self", "field_enum": "_blank/_self/_parent/_top", "field_desc_zh": "链接或路由跳转方式", "field_desc_en": null,