From 68625571905739085a3ddcfac3664bd214170812 Mon Sep 17 00:00:00 2001 From: Wesley <985189328@qq.com> Date: Wed, 1 Jul 2026 22:12:50 +0800 Subject: [PATCH] feat: new api --- db/TDesign.db | Bin 1146880 -> 1146880 bytes .../components/switch/defaultProps.ts | 8 +++- .../components/switch/switch.en-US.md | 15 +++---- .../packages/components/switch/switch.md | 1 + .../packages/components/switch/type.ts | 9 +++- .../packages/components/switch/props.ts | 9 ++++ .../components/switch/switch.en-US.md | 13 +++--- .../packages/components/switch/switch.md | 1 + .../packages/components/switch/type.ts | 7 +++- .../products/tdesign-vue/src/switch/props.ts | 9 ++++ .../tdesign-vue/src/switch/switch.en-US.md | 13 +++--- .../products/tdesign-vue/src/switch/switch.md | 1 + .../products/tdesign-vue/src/switch/type.ts | 7 +++- packages/scripts/api.json | 39 ++++++++++++++++++ 14 files changed, 108 insertions(+), 24 deletions(-) diff --git a/db/TDesign.db b/db/TDesign.db index f98c28aeef5b4b3248b9887ba9a482be42d46c6b..dcc726c7e9a293b8564f9b29549de074b3825c44 100644 GIT binary patch delta 333 zcmZo@aBFCAn;^~jX`+lX2(>5XHpAGi&<Rymxr5I2t$v*b}!Ke&F_CuW!^_ z)Tq74L5hV@l2e>h+_X`UfrHoBn1O+TlY^Iomw^Lh6mxKSW=V2JNk(dJYEgb^UJ97d zFG@`=Nz6;nN!8EE%u9W~yXDF5Z7&!1JzKEnaYGYW$&($sp3Z4|x_8n0Jw0&MK*8tp sS3(4hK{`PKyY>SGj0}v-bPddP4Ga|wO{@$Jt$+fULfZu@1V69?0N=NFasU7T delta 147 zcmV;E0Brw&fJT6TMvxl;?~xos0q=oeg3;1BGA&g~54B(rq(1~h0=NK|9)b@nw=_TyS^@$|xwnu)5O)a&plI7r z2oKhmV2=-)hp0>tx2Q}JTq6$#2oL}dI1auI+zmPifC#rC@C%>^lR!{iw-9&{@CQ7g BFjxQp diff --git a/packages/products/tdesign-react/packages/components/switch/defaultProps.ts b/packages/products/tdesign-react/packages/components/switch/defaultProps.ts index d28cb443f..cb96f0f6c 100644 --- a/packages/products/tdesign-react/packages/components/switch/defaultProps.ts +++ b/packages/products/tdesign-react/packages/components/switch/defaultProps.ts @@ -4,4 +4,10 @@ import { TdSwitchProps } from './type'; -export const switchDefaultProps: TdSwitchProps = { disabled: undefined, label: [], loading: false, size: 'medium' }; +export const switchDefaultProps: TdSwitchProps = { + disabled: undefined, + label: [], + loading: false, + size: 'medium', + theme: 'round', +}; diff --git a/packages/products/tdesign-react/packages/components/switch/switch.en-US.md b/packages/products/tdesign-react/packages/components/switch/switch.en-US.md index f2b5e5ab3..7eedf3c57 100644 --- a/packages/products/tdesign-react/packages/components/switch/switch.en-US.md +++ b/packages/products/tdesign-react/packages/components/switch/switch.en-US.md @@ -7,13 +7,14 @@ name | type | default | description | required -- | -- | -- | -- | -- className | String | - | className of component | N -style | Object | - | CSS(Cascading Style Sheets),Typescript:`React.CSSProperties` | N -beforeChange | Function | - | Typescript:`() => boolean \| Promise` | N -customValue | Array | - | Typescript:`Array` | N +style | Object | - | CSS(Cascading Style Sheets),Typescript: `React.CSSProperties` | N +beforeChange | Function | - | Typescript: `() => boolean \| Promise` | N +customValue | Array | - | Typescript: `Array` | N disabled | Boolean | undefined | \- | N -label | TNode | [] | Typescript:`Array \| TNode<{ value: SwitchValue }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +label | TNode | [] | Typescript: `Array \| TNode<{ value: SwitchValue }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N loading | Boolean | false | \- | N size | String | medium | options: small/medium/large | N -value | String / Number / Boolean | - | Typescript:`T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/switch/type.ts) | N -defaultValue | String / Number / Boolean | - | uncontrolled property。Typescript:`T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/switch/type.ts) | N -onChange | Function | | Typescript:`(value: T, context: { e: MouseEvent }) => void`
| N +theme | String | round | options: round/rectangle/line | N +value | String / Number / Boolean | - | Typescript: `T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/switch/type.ts) | N +defaultValue | String / Number / Boolean | - | uncontrolled property。Typescript: `T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/switch/type.ts) | N +onChange | Function | | Typescript: `(value: T, context: { e: MouseEvent }) => void`
| N diff --git a/packages/products/tdesign-react/packages/components/switch/switch.md b/packages/products/tdesign-react/packages/components/switch/switch.md index 5f3eaa862..c376127e0 100644 --- a/packages/products/tdesign-react/packages/components/switch/switch.md +++ b/packages/products/tdesign-react/packages/components/switch/switch.md @@ -14,6 +14,7 @@ disabled | Boolean | undefined | 是否禁用组件。优先级:Switch.disable label | TNode | [] | 开关内容,[开启时内容,关闭时内容]。示例:['开', '关'] 或 (value) => value ? '开' : '关'。TS 类型:`Array \| TNode<{ value: SwitchValue }>`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N loading | Boolean | false | 是否处于加载中状态 | N size | String | medium | 开关尺寸。可选项:small/medium/large | N +theme | String | round | 组件风格。round为圆形,rectangle为矩形,line为线形。可选项:round/rectangle/line | N value | String / Number / Boolean | - | 开关值。TS 类型:`T` `type SwitchValue = string \| number \| boolean`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/switch/type.ts) | N defaultValue | String / Number / Boolean | - | 开关值。非受控属性。TS 类型:`T` `type SwitchValue = string \| number \| boolean`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/switch/type.ts) | N onChange | Function | | TS 类型:`(value: T, context: { e: MouseEvent }) => void`
数据发生变化时触发 | N diff --git a/packages/products/tdesign-react/packages/components/switch/type.ts b/packages/products/tdesign-react/packages/components/switch/type.ts index abff5997c..71835cde5 100644 --- a/packages/products/tdesign-react/packages/components/switch/type.ts +++ b/packages/products/tdesign-react/packages/components/switch/type.ts @@ -4,8 +4,8 @@ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ -import { TNode } from '../common'; -import { MouseEvent } from 'react'; +import type { TNode } from '../common'; +import type { MouseEvent } from 'react'; export interface TdSwitchProps { /** @@ -35,6 +35,11 @@ export interface TdSwitchProps { * @default medium */ size?: 'small' | 'medium' | 'large'; + /** + * 组件风格。round为圆形,rectangle为矩形,line为线形 + * @default round + */ + theme?: 'round' | 'rectangle' | 'line'; /** * 开关值 */ diff --git a/packages/products/tdesign-vue-next/packages/components/switch/props.ts b/packages/products/tdesign-vue-next/packages/components/switch/props.ts index c5759ddf0..c4fdf5184 100644 --- a/packages/products/tdesign-vue-next/packages/components/switch/props.ts +++ b/packages/products/tdesign-vue-next/packages/components/switch/props.ts @@ -37,6 +37,15 @@ export default { return ['small', 'medium', 'large'].includes(val); }, }, + /** 组件风格。round为圆形,rectangle为矩形,line为线形 */ + theme: { + type: String as PropType, + default: 'round' as TdSwitchProps['theme'], + validator(val: TdSwitchProps['theme']): boolean { + if (!val) return true; + return ['round', 'rectangle', 'line'].includes(val); + }, + }, /** 开关值 */ value: { type: [String, Number, Boolean] as PropType, diff --git a/packages/products/tdesign-vue-next/packages/components/switch/switch.en-US.md b/packages/products/tdesign-vue-next/packages/components/switch/switch.en-US.md index 281af4ea3..b0313a642 100644 --- a/packages/products/tdesign-vue-next/packages/components/switch/switch.en-US.md +++ b/packages/products/tdesign-vue-next/packages/components/switch/switch.en-US.md @@ -6,15 +6,16 @@ name | type | default | description | required -- | -- | -- | -- | -- -beforeChange | Function | - | Typescript:`() => boolean \| Promise` | N -customValue | Array | - | Typescript:`Array` | N +beforeChange | Function | - | Typescript: `() => boolean \| Promise` | N +customValue | Array | - | Typescript: `Array` | N disabled | Boolean | undefined | \- | N -label | Array / Slot / Function | [] | Typescript:`Array \| TNode<{ value: SwitchValue }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +label | Array / Slot / Function | [] | Typescript: `Array \| TNode<{ value: SwitchValue }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N loading | Boolean | false | \- | N size | String | medium | options: small/medium/large | N -value | String / Number / Boolean | - | `v-model` and `v-model:value` is supported。Typescript:`T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/switch/type.ts) | N -defaultValue | String / Number / Boolean | - | uncontrolled property。Typescript:`T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/switch/type.ts) | N -onChange | Function | | Typescript:`(value: T, context: { e: MouseEvent }) => void`
| N +theme | String | round | options: round/rectangle/line | N +value | String / Number / Boolean | - | `v-model` and `v-model:value` is supported。Typescript: `T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/switch/type.ts) | N +defaultValue | String / Number / Boolean | - | uncontrolled property。Typescript: `T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/switch/type.ts) | N +onChange | Function | | Typescript: `(value: T, context: { e: MouseEvent }) => void`
| N ### Switch Events diff --git a/packages/products/tdesign-vue-next/packages/components/switch/switch.md b/packages/products/tdesign-vue-next/packages/components/switch/switch.md index 358fb3a1e..9d7b3cabd 100644 --- a/packages/products/tdesign-vue-next/packages/components/switch/switch.md +++ b/packages/products/tdesign-vue-next/packages/components/switch/switch.md @@ -12,6 +12,7 @@ disabled | Boolean | undefined | 是否禁用组件。优先级:Switch.disable label | Array / Slot / Function | [] | 开关内容,[开启时内容,关闭时内容]。示例:['开', '关'] 或 (value) => value ? '开' : '关'。TS 类型:`Array \| TNode<{ value: SwitchValue }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N loading | Boolean | false | 是否处于加载中状态 | N size | String | medium | 开关尺寸。可选项:small/medium/large | N +theme | String | round | 组件风格。round为圆形,rectangle为矩形,line为线形。可选项:round/rectangle/line | N value | String / Number / Boolean | - | 开关值。支持语法糖 `v-model` 或 `v-model:value`。TS 类型:`T` `type SwitchValue = string \| number \| boolean`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/switch/type.ts) | N defaultValue | String / Number / Boolean | - | 开关值。非受控属性。TS 类型:`T` `type SwitchValue = string \| number \| boolean`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/switch/type.ts) | N onChange | Function | | TS 类型:`(value: T, context: { e: MouseEvent }) => void`
数据发生变化时触发 | N diff --git a/packages/products/tdesign-vue-next/packages/components/switch/type.ts b/packages/products/tdesign-vue-next/packages/components/switch/type.ts index 6faab3016..583a43036 100644 --- a/packages/products/tdesign-vue-next/packages/components/switch/type.ts +++ b/packages/products/tdesign-vue-next/packages/components/switch/type.ts @@ -4,7 +4,7 @@ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ -import { TNode } from '../common'; +import type { TNode } from '../common'; export interface TdSwitchProps { /** @@ -34,6 +34,11 @@ export interface TdSwitchProps { * @default medium */ size?: 'small' | 'medium' | 'large'; + /** + * 组件风格。round为圆形,rectangle为矩形,line为线形 + * @default round + */ + theme?: 'round' | 'rectangle' | 'line'; /** * 开关值 */ diff --git a/packages/products/tdesign-vue/src/switch/props.ts b/packages/products/tdesign-vue/src/switch/props.ts index 871922f5d..cf2f2dbb2 100644 --- a/packages/products/tdesign-vue/src/switch/props.ts +++ b/packages/products/tdesign-vue/src/switch/props.ts @@ -37,6 +37,15 @@ export default { return ['small', 'medium', 'large'].includes(val); }, }, + /** 组件风格。round为圆形,rectangle为矩形,line为线形 */ + theme: { + type: String as PropType, + default: 'round' as TdSwitchProps['theme'], + validator(val: TdSwitchProps['theme']): boolean { + if (!val) return true; + return ['round', 'rectangle', 'line'].includes(val); + }, + }, /** 开关值 */ value: { type: [String, Number, Boolean] as PropType, diff --git a/packages/products/tdesign-vue/src/switch/switch.en-US.md b/packages/products/tdesign-vue/src/switch/switch.en-US.md index df176b876..620ef3a4e 100644 --- a/packages/products/tdesign-vue/src/switch/switch.en-US.md +++ b/packages/products/tdesign-vue/src/switch/switch.en-US.md @@ -6,15 +6,16 @@ name | type | default | description | required -- | -- | -- | -- | -- -beforeChange | Function | - | Typescript:`() => boolean \| Promise` | N -customValue | Array | - | Typescript:`Array` | N +beforeChange | Function | - | Typescript: `() => boolean \| Promise` | N +customValue | Array | - | Typescript: `Array` | N disabled | Boolean | undefined | \- | N -label | Array / Slot / Function | [] | Typescript:`Array \| TNode<{ value: SwitchValue }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +label | Array / Slot / Function | [] | Typescript: `Array \| TNode<{ value: SwitchValue }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N loading | Boolean | false | \- | N size | String | medium | options: small/medium/large | N -value | String / Number / Boolean | - | `v-model` is supported。Typescript:`T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/switch/type.ts) | N -defaultValue | String / Number / Boolean | - | uncontrolled property。Typescript:`T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/switch/type.ts) | N -onChange | Function | | Typescript:`(value: T, context: { e: MouseEvent }) => void`
| N +theme | String | round | options: round/rectangle/line | N +value | String / Number / Boolean | - | `v-model` is supported。Typescript: `T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/switch/type.ts) | N +defaultValue | String / Number / Boolean | - | uncontrolled property。Typescript: `T` `type SwitchValue = string \| number \| boolean`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/switch/type.ts) | N +onChange | Function | | Typescript: `(value: T, context: { e: MouseEvent }) => void`
| N ### Switch Events diff --git a/packages/products/tdesign-vue/src/switch/switch.md b/packages/products/tdesign-vue/src/switch/switch.md index e68b3d460..7c71c4ed8 100644 --- a/packages/products/tdesign-vue/src/switch/switch.md +++ b/packages/products/tdesign-vue/src/switch/switch.md @@ -12,6 +12,7 @@ disabled | Boolean | undefined | 是否禁用组件。优先级:Switch.disable label | Array / Slot / Function | [] | 开关内容,[开启时内容,关闭时内容]。示例:['开', '关'] 或 (value) => value ? '开' : '关'。TS 类型:`Array \| TNode<{ value: SwitchValue }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N loading | Boolean | false | 是否处于加载中状态 | N size | String | medium | 开关尺寸。可选项:small/medium/large | N +theme | String | round | 组件风格。round为圆形,rectangle为矩形,line为线形。可选项:round/rectangle/line | N value | String / Number / Boolean | - | 开关值。支持语法糖 `v-model`。TS 类型:`T` `type SwitchValue = string \| number \| boolean`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/switch/type.ts) | N defaultValue | String / Number / Boolean | - | 开关值。非受控属性。TS 类型:`T` `type SwitchValue = string \| number \| boolean`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/switch/type.ts) | N onChange | Function | | TS 类型:`(value: T, context: { e: MouseEvent }) => void`
数据发生变化时触发 | N diff --git a/packages/products/tdesign-vue/src/switch/type.ts b/packages/products/tdesign-vue/src/switch/type.ts index 6daabe381..706ff6269 100644 --- a/packages/products/tdesign-vue/src/switch/type.ts +++ b/packages/products/tdesign-vue/src/switch/type.ts @@ -4,7 +4,7 @@ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ -import { TNode } from '../common'; +import type { TNode } from '../common'; export interface TdSwitchProps { /** @@ -34,6 +34,11 @@ export interface TdSwitchProps { * @default medium */ size?: 'small' | 'medium' | 'large'; + /** + * 组件风格。round为圆形,rectangle为矩形,line为线形 + * @default round + */ + theme?: 'round' | 'rectangle' | 'line'; /** * 开关值 */ diff --git a/packages/scripts/api.json b/packages/scripts/api.json index 511a1a607..b70044a21 100644 --- a/packages/scripts/api.json +++ b/packages/scripts/api.json @@ -127263,6 +127263,45 @@ "String" ] }, + { + "id": 1782915080, + "platform_framework": [ + "1", + "2" + ], + "component": "Switch", + "field_category": 1, + "field_name": "theme", + "field_type": [ + "1" + ], + "field_default_value": "round", + "field_enum": "round/rectangle/line", + "field_desc_zh": "组件风格。round为圆形,rectangle为矩形,line为线形", + "field_desc_en": null, + "field_required": 0, + "event_input": "", + "create_time": "2026-07-01 14:11:20", + "update_time": "2026-07-01 14:11:20", + "event_output": null, + "custom_field_type": null, + "syntactic_sugar": null, + "readonly": 1, + "html_attribute": 0, + "trigger_elements": "", + "deprecated": 0, + "version": "", + "test_description": null, + "support_default_value": 0, + "field_category_text": "Props", + "platform_framework_text": [ + "Vue(PC)", + "React(PC)" + ], + "field_type_text": [ + "String" + ] + }, { "id": 134, "platform_framework": [