From bff10c260422e20f5d52de208b81762605b1ba77 Mon Sep 17 00:00:00 2001 From: Uyarn Date: Tue, 7 Nov 2023 20:17:27 +0800 Subject: [PATCH] feat(select): collapsedItem add onclose param --- db/TDesign.db | Bin 856064 -> 856064 bytes .../tdesign-react/src/select/select.en-US.md | 2 +- .../tdesign-react/src/select/select.md | 2 +- .../products/tdesign-react/src/select/type.ts | 11 ++++++----- .../tdesign-vue-next/src/select/props.ts | 4 ++-- .../src/select/select.en-US.md | 2 +- .../tdesign-vue-next/src/select/select.md | 2 +- .../tdesign-vue-next/src/select/type.ts | 11 ++++++----- .../products/tdesign-vue/src/select/props.ts | 4 ++-- .../tdesign-vue/src/select/select.en-US.md | 2 +- .../products/tdesign-vue/src/select/select.md | 2 +- .../products/tdesign-vue/src/select/type.ts | 11 ++++++----- packages/scripts/api.json | 4 ++-- 13 files changed, 30 insertions(+), 27 deletions(-) diff --git a/db/TDesign.db b/db/TDesign.db index 14b356d2576fb52e08b3656c13e691f085add3d5..0bbfec5cd1f1af86d3690cb92bec8e230f171b48 100644 GIT binary patch delta 176 zcmZozVA8O_WP&u~hlw)ItREQk;-wo?T2mNXQHL4V72B;{S%8=oh}nRc V9f&!Am=lP(fS7x`wJXojQvh?tJ1zhK delta 135 zcmZozVA8O_WP&u~`-w8ntnV50qD>o9T2mNXQH0R@4*bnwU3St;jFOz1jJ&+9tkYfGSTv_Uu;P9;-N}U|boy2omXvmD eR~8^<1!6WJW(Q&pAm#*OE+FRKZtco*^b`QlgD3p} diff --git a/packages/products/tdesign-react/src/select/select.en-US.md b/packages/products/tdesign-react/src/select/select.en-US.md index 9a06bd46..ecfdf349 100644 --- a/packages/products/tdesign-react/src/select/select.en-US.md +++ b/packages/products/tdesign-react/src/select/select.en-US.md @@ -11,7 +11,7 @@ autoWidth | Boolean | false | \- | N autofocus | Boolean | false | \- | N borderless | Boolean | false | \- | N clearable | Boolean | false | \- | N -collapsedItems | TElement | - | Typescript:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +collapsedItems | TElement | - | Typescript:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number, onClose: (index: number) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N creatable | Boolean | false | \- | N disabled | Boolean | - | \- | N empty | 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/select/select.md b/packages/products/tdesign-react/src/select/select.md index 2e0acf3c..db4e3606 100644 --- a/packages/products/tdesign-react/src/select/select.md +++ b/packages/products/tdesign-react/src/select/select.md @@ -11,7 +11,7 @@ autoWidth | Boolean | false | 宽度随内容自适应 | N autofocus | Boolean | false | 自动聚焦 | N borderless | Boolean | false | 无边框模式 | N clearable | Boolean | false | 是否可以清空选项 | N -collapsedItems | TElement | - | 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量。TS 类型:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N +collapsedItems | TElement | - | 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签。TS 类型:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number, onClose: (index: number) => void }>`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N creatable | Boolean | false | 是否允许用户创建新条目,需配合 filterable 使用 | N disabled | Boolean | - | 是否禁用组件 | N empty | TNode | - | 当下拉列表为空时显示的内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N diff --git a/packages/products/tdesign-react/src/select/type.ts b/packages/products/tdesign-react/src/select/type.ts index 6c3e6940..6eddb28e 100644 --- a/packages/products/tdesign-react/src/select/type.ts +++ b/packages/products/tdesign-react/src/select/type.ts @@ -37,9 +37,9 @@ export interface TdSelectProps { */ clearable?: boolean; /** - * 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量 + * 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签 */ - collapsedItems?: TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>; + collapsedItems?: TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number; onClose: (index: number) => void }>; /** * 是否允许用户创建新条目,需配合 filterable 使用 * @default false @@ -74,7 +74,7 @@ export interface TdSelectProps { */ defaultInputValue?: InputValue; /** - * 用来定义 value / label 在 `options` 中对应的字段别名 + * 用来定义 value / label / disabled 在 `options` 中对应的字段别名 */ keys?: SelectKeysType; /** @@ -306,8 +306,9 @@ export interface TdOptionGroupProps { } export interface SelectKeysType { - value?: string; - label?: string; + value?: string | ((option: SelectOption) => string); + label?: string | ((option: SelectOption) => string); + disabled?: string; } export type SelectValue = string | number | boolean | T | Array>; diff --git a/packages/products/tdesign-vue-next/src/select/props.ts b/packages/products/tdesign-vue-next/src/select/props.ts index 926fdbf9..a92de744 100644 --- a/packages/products/tdesign-vue-next/src/select/props.ts +++ b/packages/products/tdesign-vue-next/src/select/props.ts @@ -16,7 +16,7 @@ export default { borderless: Boolean, /** 是否可以清空选项 */ clearable: Boolean, - /** 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量 */ + /** 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签 */ collapsedItems: { type: Function as PropType, }, @@ -47,7 +47,7 @@ export default { defaultInputValue: { type: [String, Number] as PropType, }, - /** 用来定义 value / label 在 `options` 中对应的字段别名 */ + /** 用来定义 value / label / disabled 在 `options` 中对应的字段别名 */ keys: { type: Object as PropType, }, diff --git a/packages/products/tdesign-vue-next/src/select/select.en-US.md b/packages/products/tdesign-vue-next/src/select/select.en-US.md index 94828cbc..416456c3 100644 --- a/packages/products/tdesign-vue-next/src/select/select.en-US.md +++ b/packages/products/tdesign-vue-next/src/select/select.en-US.md @@ -9,7 +9,7 @@ autoWidth | Boolean | false | \- | N autofocus | Boolean | false | \- | N borderless | Boolean | false | \- | N clearable | Boolean | false | \- | N -collapsedItems | Slot / Function | - | Typescript:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +collapsedItems | Slot / Function | - | Typescript:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number, onClose: (index: number) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N creatable | Boolean | false | \- | N disabled | Boolean | - | \- | N empty | 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/select/select.md b/packages/products/tdesign-vue-next/src/select/select.md index d82274a4..8f4f54e3 100644 --- a/packages/products/tdesign-vue-next/src/select/select.md +++ b/packages/products/tdesign-vue-next/src/select/select.md @@ -9,7 +9,7 @@ autoWidth | Boolean | false | 宽度随内容自适应 | N autofocus | Boolean | false | 自动聚焦 | N borderless | Boolean | false | 无边框模式 | N clearable | Boolean | false | 是否可以清空选项 | N -collapsedItems | Slot / Function | - | 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量。TS 类型:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N +collapsedItems | Slot / Function | - | 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签。TS 类型:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number, onClose: (index: number) => void }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N creatable | Boolean | false | 是否允许用户创建新条目,需配合 filterable 使用 | N disabled | Boolean | - | 是否禁用组件 | N empty | 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/select/type.ts b/packages/products/tdesign-vue-next/src/select/type.ts index e1d8d36e..aace9d0b 100644 --- a/packages/products/tdesign-vue-next/src/select/type.ts +++ b/packages/products/tdesign-vue-next/src/select/type.ts @@ -36,9 +36,9 @@ export interface TdSelectProps { */ clearable?: boolean; /** - * 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量 + * 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签 */ - collapsedItems?: TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>; + collapsedItems?: TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number; onClose: (index: number) => void }>; /** * 是否允许用户创建新条目,需配合 filterable 使用 * @default false @@ -73,7 +73,7 @@ export interface TdSelectProps { */ defaultInputValue?: InputValue; /** - * 用来定义 value / label 在 `options` 中对应的字段别名 + * 用来定义 value / label / disabled 在 `options` 中对应的字段别名 */ keys?: SelectKeysType; /** @@ -304,8 +304,9 @@ export interface TdOptionGroupProps { } export interface SelectKeysType { - value?: string; - label?: string; + value?: string | ((option: SelectOption) => string); + label?: string | ((option: SelectOption) => string); + disabled?: string; } export type SelectValue = string | number | boolean | T | Array>; diff --git a/packages/products/tdesign-vue/src/select/props.ts b/packages/products/tdesign-vue/src/select/props.ts index 39ab1649..9fe269f6 100644 --- a/packages/products/tdesign-vue/src/select/props.ts +++ b/packages/products/tdesign-vue/src/select/props.ts @@ -16,7 +16,7 @@ export default { borderless: Boolean, /** 是否可以清空选项 */ clearable: Boolean, - /** 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量 */ + /** 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签 */ collapsedItems: { type: Function as PropType, }, @@ -46,7 +46,7 @@ export default { defaultInputValue: { type: [String, Number] as PropType, }, - /** 用来定义 value / label 在 `options` 中对应的字段别名 */ + /** 用来定义 value / label / disabled 在 `options` 中对应的字段别名 */ keys: { type: Object as PropType, }, diff --git a/packages/products/tdesign-vue/src/select/select.en-US.md b/packages/products/tdesign-vue/src/select/select.en-US.md index 8c492b7d..5cde7b52 100644 --- a/packages/products/tdesign-vue/src/select/select.en-US.md +++ b/packages/products/tdesign-vue/src/select/select.en-US.md @@ -9,7 +9,7 @@ autoWidth | Boolean | false | \- | N autofocus | Boolean | false | \- | N borderless | Boolean | false | \- | N clearable | Boolean | false | \- | N -collapsedItems | Slot / Function | - | Typescript:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +collapsedItems | Slot / Function | - | Typescript:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number, onClose: (index: number) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N creatable | Boolean | false | \- | N disabled | Boolean | - | \- | N empty | 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/select/select.md b/packages/products/tdesign-vue/src/select/select.md index 0fd1acec..ad618752 100644 --- a/packages/products/tdesign-vue/src/select/select.md +++ b/packages/products/tdesign-vue/src/select/select.md @@ -9,7 +9,7 @@ autoWidth | Boolean | false | 宽度随内容自适应 | N autofocus | Boolean | false | 自动聚焦 | N borderless | Boolean | false | 无边框模式 | N clearable | Boolean | false | 是否可以清空选项 | N -collapsedItems | Slot / Function | - | 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量。TS 类型:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +collapsedItems | Slot / Function | - | 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签。TS 类型:`TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number, onClose: (index: number) => void }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N creatable | Boolean | false | 是否允许用户创建新条目,需配合 filterable 使用 | N disabled | Boolean | - | 是否禁用组件 | N empty | 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/select/type.ts b/packages/products/tdesign-vue/src/select/type.ts index 5e08d994..8580fde0 100644 --- a/packages/products/tdesign-vue/src/select/type.ts +++ b/packages/products/tdesign-vue/src/select/type.ts @@ -36,9 +36,9 @@ export interface TdSelectProps { */ clearable?: boolean; /** - * 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量 + * 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签 */ - collapsedItems?: TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>; + collapsedItems?: TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number; onClose: (index: number) => void }>; /** * 是否允许用户创建新条目,需配合 filterable 使用 * @default false @@ -73,7 +73,7 @@ export interface TdSelectProps { */ defaultInputValue?: InputValue; /** - * 用来定义 value / label 在 `options` 中对应的字段别名 + * 用来定义 value / label / disabled 在 `options` 中对应的字段别名 */ keys?: SelectKeysType; /** @@ -300,8 +300,9 @@ export interface TdOptionGroupProps { } export interface SelectKeysType { - value?: string; - label?: string; + value?: string | ((option: SelectOption) => string); + label?: string | ((option: SelectOption) => string); + disabled?: string; } export type SelectValue = string | number | boolean | T | Array>; diff --git a/packages/scripts/api.json b/packages/scripts/api.json index f778aed5..ae816468 100644 --- a/packages/scripts/api.json +++ b/packages/scripts/api.json @@ -81757,14 +81757,14 @@ ], "field_default_value": "", "field_enum": "", - "field_desc_zh": "多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量", + "field_desc_zh": "多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,泛型 `T` 继承 `SelectOption`,表示选项数据;`count` 表示折叠的数量, `onClose` 表示移除标签", "field_desc_en": null, "field_required": 0, "event_input": "", "create_time": "2021-09-28 05:17:31", "update_time": "2021-11-20 05:13:40", "event_output": null, - "custom_field_type": "TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number }>", + "custom_field_type": "TNode<{ value: T[]; collapsedSelectedItems: T[]; count: number, onClose: (index: number) => void }>", "syntactic_sugar": null, "readonly": 1, "html_attribute": 0,