From 251707fd453a95acb38f7e8a1ed5518d837c7038 Mon Sep 17 00:00:00 2001 From: liweijie0812 <674416404@qq.com> Date: Fri, 15 Nov 2024 11:07:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(checkbox):=20change=20=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E9=94=99=E8=AF=AF=20(#474)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/TDesign.db | Bin 1003520 -> 1003520 bytes .../src/checkbox/checkbox.en-US.md | 2 +- .../tdesign-react/src/checkbox/checkbox.md | 4 +- .../tdesign-react/src/checkbox/type.ts | 124 +++++++++++++++++- packages/scripts/api.json | 4 +- 5 files changed, 128 insertions(+), 6 deletions(-) diff --git a/db/TDesign.db b/db/TDesign.db index 74bf5e512c3751159b0f4501d41c21e2f7aa0bb1..ed57db01213f20230b5c7ca668abab488f608970 100644 GIT binary patch delta 151 zcmZozVB4_3c7imc=tLQ3R#67MvaZII))dCADNGyBGtS*Ec7e%&hlzK}c8@zuK8!L9 z3=EvoOpNM`E%EINV1^_IFK>%314py#_T_h(&NEJSS?t_?=spt=GXpUT5VHa?8xXT^ pKXjkN_y6?!-i&P1^KNj*x0l@K1Y#~A<_2OOAm-g(a-XlK0092pId}j7 delta 147 zcmZozVB4_3c7imc@I)DBR$&IcvW~`-))dCADNGyBGfvqqc7e%&hlznGy!fS47C*?^dR o`=R?BzW` `type CheckboxOption = string \| number \| CheckboxOptionObj` `interface CheckboxOptionObj extends TdCheckboxProps { text?: string; }`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts) | N value | Array | [] | Typescript:`T` `type CheckboxGroupValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts) | N defaultValue | Array | [] | uncontrolled property。Typescript:`T` `type CheckboxGroupValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts) | N -onChange | Function | | Typescript:`(value: T, context: CheckboxGroupChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts)。
`interface CheckboxGroupChangeContext { e: ChangeEvent; current: CheckboxOption \| TdCheckboxProps; option: current: CheckboxOption \| TdCheckboxProps; type: 'check' \| 'uncheck' }`
| N +onChange | Function | | Typescript:`(value: T, context: CheckboxGroupChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts)。
`interface CheckboxGroupChangeContext { e: ChangeEvent; current: CheckboxOption \| TdCheckboxProps; option: CheckboxOption \| TdCheckboxProps; type: 'check' \| 'uncheck' }`
| N diff --git a/packages/products/tdesign-react/src/checkbox/checkbox.md b/packages/products/tdesign-react/src/checkbox/checkbox.md index 846434acb..5f3955298 100644 --- a/packages/products/tdesign-react/src/checkbox/checkbox.md +++ b/packages/products/tdesign-react/src/checkbox/checkbox.md @@ -21,7 +21,7 @@ readonly | Boolean | false | 只读状态 | N title | String | - | HTML 原生属性 | N value | String / Number / Boolean | - | 多选框的值。TS 类型:`string \| number \| boolean` | N onChange | Function | | TS 类型:`(checked: boolean, context: { e: ChangeEvent }) => void`
值变化时触发 | N -onClick | Function | | TS 类型:`(context: { e: MouseEvent }) => void`
点击时出发,一般用于外层阻止冒泡场景 | N +onClick | Function | | TS 类型:`(context: { e: MouseEvent }) => void`
点击时触发,一般用于外层阻止冒泡场景 | N ### CheckboxGroup Props @@ -37,4 +37,4 @@ name | String | - | 统一设置内部复选框 HTML 属性 | N options | Array | - | 以配置形式设置子元素。示例1:`['北京', '上海']` ,示例2: `[{ label: '全选', checkAll: true }, { label: '上海', value: 'shanghai' }]`。checkAll 值为 true 表示当前选项为「全选选项」。TS 类型:`Array` `type CheckboxOption = string \| number \| CheckboxOptionObj` `interface CheckboxOptionObj extends TdCheckboxProps { text?: string; }`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts) | N value | Array | [] | 选中值。TS 类型:`T` `type CheckboxGroupValue = Array`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts) | N defaultValue | Array | [] | 选中值。非受控属性。TS 类型:`T` `type CheckboxGroupValue = Array`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts) | N -onChange | Function | | TS 类型:`(value: T, context: CheckboxGroupChangeContext) => void`
值变化时触发,`context.current` 表示当前变化的数据值,如果是全选则为空;`context.type` 表示引起选中数据变化的是选中或是取消选中;`context.option` 表示当前变化的数据项;`context.current` 即将废弃,请勿使用。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts)。
`interface CheckboxGroupChangeContext { e: ChangeEvent; current: CheckboxOption \| TdCheckboxProps; option: current: CheckboxOption \| TdCheckboxProps; type: 'check' \| 'uncheck' }`
| N +onChange | Function | | TS 类型:`(value: T, context: CheckboxGroupChangeContext) => void`
值变化时触发,`context.current` 表示当前变化的数据值,如果是全选则为空;`context.type` 表示引起选中数据变化的是选中或是取消选中;`context.option` 表示当前变化的数据项;`context.current` 即将废弃,请勿使用。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/checkbox/type.ts)。
`interface CheckboxGroupChangeContext { e: ChangeEvent; current: CheckboxOption \| TdCheckboxProps; option: CheckboxOption \| TdCheckboxProps; type: 'check' \| 'uncheck' }`
| N diff --git a/packages/products/tdesign-react/src/checkbox/type.ts b/packages/products/tdesign-react/src/checkbox/type.ts index 9e2b017cc..ec99eeedc 100644 --- a/packages/products/tdesign-react/src/checkbox/type.ts +++ b/packages/products/tdesign-react/src/checkbox/type.ts @@ -4,4 +4,126 @@ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ -[object Object] \ No newline at end of file +import { TNode } from '../common'; +import { MouseEvent, ChangeEvent } from 'react'; + +export interface TdCheckboxProps { + /** + * 用于标识是否为「全选选项」。单独使用无效,需在 CheckboxGroup 中使用 + * @default false + */ + checkAll?: boolean; + /** + * 是否选中 + * @default false + */ + checked?: boolean; + /** + * 是否选中,非受控属性 + * @default false + */ + defaultChecked?: boolean; + /** + * 多选框内容,同 label + */ + children?: TNode; + /** + * 是否禁用组件。如果父组件存在 CheckboxGroup,默认值由 CheckboxGroup.disabled 控制。优先级:Checkbox.disabled > CheckboxGroup.disabled > Form.disabled + */ + disabled?: boolean; + /** + * 是否为半选 + * @default false + */ + indeterminate?: boolean; + /** + * 主文案 + */ + label?: TNode; + /** + * 是否启用懒加载。数据量大时建议开启;加载复杂内容或大量图片时建议开启 + * @default false + */ + lazyLoad?: boolean; + /** + * HTML 元素原生属性 + * @default '' + */ + name?: string; + /** + * 只读状态 + * @default false + */ + readonly?: boolean; + /** + * HTML 原生属性 + * @default '' + */ + title?: string; + /** + * 多选框的值 + */ + value?: string | number | boolean; + /** + * 值变化时触发 + */ + onChange?: (checked: boolean, context: { e: ChangeEvent }) => void; + /** + * 点击时触发,一般用于外层阻止冒泡场景 + */ + onClick?: (context: { e: MouseEvent }) => void; +} + +export interface TdCheckboxGroupProps { + /** + * 是否禁用组件。优先级:Form.disabled < CheckboxGroup.disabled < Checkbox.disabled + */ + disabled?: boolean; + /** + * 是否启用懒加载。子组件 Checkbox 数据量大时建议开启;加载复杂内容或大量图片时建议开启 + * @default false + */ + lazyLoad?: boolean; + /** + * 支持最多选中的数量 + */ + max?: number; + /** + * 统一设置内部复选框 HTML 属性 + * @default '' + */ + name?: string; + /** + * 以配置形式设置子元素。示例1:`['北京', '上海']` ,示例2: `[{ label: '全选', checkAll: true }, { label: '上海', value: 'shanghai' }]`。checkAll 值为 true 表示当前选项为「全选选项」 + */ + options?: Array; + /** + * 选中值 + * @default [] + */ + value?: T; + /** + * 选中值,非受控属性 + * @default [] + */ + defaultValue?: T; + /** + * 值变化时触发,`context.current` 表示当前变化的数据值,如果是全选则为空;`context.type` 表示引起选中数据变化的是选中或是取消选中;`context.option` 表示当前变化的数据项;`context.current` 即将废弃,请勿使用 + */ + onChange?: (value: T, context: CheckboxGroupChangeContext) => void; +} + +export type CheckboxOption = string | number | CheckboxOptionObj; + +export interface CheckboxOptionObj extends TdCheckboxProps { + text?: string; +} + +export type CheckboxGroupValue = Array; + +export interface CheckboxGroupChangeContext { + e: ChangeEvent; + current: CheckboxOption | TdCheckboxProps; + option: CheckboxOption | TdCheckboxProps; + type: 'check' | 'uncheck'; +} diff --git a/packages/scripts/api.json b/packages/scripts/api.json index 77e7b7d09..c5890cdba 100644 --- a/packages/scripts/api.json +++ b/packages/scripts/api.json @@ -26151,7 +26151,7 @@ "field_type": [], "field_default_value": "", "field_enum": "", - "field_desc_zh": "点击时出发,一般用于外层阻止冒泡场景", + "field_desc_zh": "点击时触发,一般用于外层阻止冒泡场景", "field_desc_en": "trigger on click", "field_required": 0, "event_input": "(context: { e: MouseEvent })", @@ -26792,7 +26792,7 @@ "field_desc_zh": "值变化时触发,`context.current` 表示当前变化的数据值,如果是全选则为空;`context.type` 表示引起选中数据变化的是选中或是取消选中;`context.option` 表示当前变化的数据项;`context.current` 即将废弃,请勿使用", "field_desc_en": null, "field_required": 0, - "event_input": "(value: T, context: CheckboxGroupChangeContext)【interface CheckboxGroupChangeContext { e: ChangeEvent; current: CheckboxOption | TdCheckboxProps; option: current: CheckboxOption | TdCheckboxProps; type: 'check' | 'uncheck' }】", + "event_input": "(value: T, context: CheckboxGroupChangeContext)【interface CheckboxGroupChangeContext { e: ChangeEvent; current: CheckboxOption | TdCheckboxProps; option: CheckboxOption | TdCheckboxProps; type: 'check' | 'uncheck' }】", "create_time": "2021-05-17 03:00:53", "update_time": "2022-04-03 09:17:34", "event_output": null,