diff --git a/db/TDesign.db b/db/TDesign.db index 48a048024..266752910 100644 Binary files a/db/TDesign.db and b/db/TDesign.db differ diff --git a/packages/products/tdesign-react/packages/components/tag-input/tag-input.en-US.md b/packages/products/tdesign-react/packages/components/tag-input/tag-input.en-US.md index aafeb8378..d9ddb8e3e 100644 --- a/packages/products/tdesign-react/packages/components/tag-input/tag-input.en-US.md +++ b/packages/products/tdesign-react/packages/components/tag-input/tag-input.en-US.md @@ -7,42 +7,43 @@ name | type | default | description | required -- | -- | -- | -- | -- className | String | - | className of component | N -style | Object | - | CSS(Cascading Style Sheets),Typescript:`React.CSSProperties` | N +style | Object | - | CSS(Cascading Style Sheets),Typescript: `React.CSSProperties` | N autoWidth | Boolean | false | \- | N borderless | Boolean | false | \- | N clearable | Boolean | false | \- | N -collapsedItems | TElement | - | Typescript:`TNode<{ value: TagInputValue; collapsedSelectedItems: TagInputValue; count: number; onClose: (context: { index: number, e?: MouseEvent }) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +collapsedItems | TElement | - | Typescript: `TNode<{ value: TagInputValue; collapsedSelectedItems: TagInputValue; count: number; onClose: (context: { index: number, e?: MouseEvent }) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N disabled | Boolean | undefined | \- | N dragSort | Boolean | false | \- | N excessTagsDisplayType | String | break-line | options: scroll/break-line | N -inputProps | Object | - | Typescript:`InputProps`,[Input API Documents](./input?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N -inputValue | String / Number | '' | input value。Typescript:`string` | N -defaultInputValue | String / Number | '' | input value。uncontrolled property。Typescript:`string` | N -label | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +inputProps | Object | - | Typescript: `InputProps`,[Input API Documents](./input?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N +inputValue | String / Number | '' | input value。Typescript: `string` | N +defaultInputValue | String / Number | '' | input value。uncontrolled property。Typescript: `string` | N +label | TNode | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N max | Number | - | max tag number | N minCollapsedNum | Number | 0 | \- | N placeholder | String | undefined | placeholder description | N -prefixIcon | TElement | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +prefixIcon | TElement | - | Typescript: `TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N readonly | Boolean | undefined | \- | N -size | String | medium | options: small/medium/large。Typescript:`SizeEnum`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +size | String | medium | options: small/medium/large。Typescript: `SizeEnum`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N status | String | - | options: default/success/warning/error | N -suffix | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N -suffixIcon | TElement | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N -tag | TNode | - | Typescript:`string \| TNode<{ value: string \| number }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N -tagProps | Object | - | Typescript:`TagProps`,[Tag API Documents](./tag?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N -tips | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N -value | Array | [] | value。Typescript:`TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N -defaultValue | Array | [] | value。uncontrolled property。Typescript:`TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N -valueDisplay | TNode | - | Typescript:`string \| TNode<{ value: TagInputValue; onClose: (index: number, item?: any) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N -onBlur | Function | | Typescript:`(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on blur | N -onChange | Function | | Typescript:`(value: TagInputValue, context: TagInputChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputChangeContext { trigger: TagInputTriggerSource; index?: number; item?: string \| number; e?: MouseEvent \| KeyboardEvent }`

`type TagInputTriggerSource = 'enter' \| 'tag-remove' \| 'backspace' \| 'clear'`
| N -onClear | Function | | Typescript:`(context: { e: MouseEvent }) => void`
| N -onClick | Function | | Typescript:`(context: { e: MouseEvent }) => void`
| N -onDragSort | Function | | Typescript:`(context: TagInputDragSortContext) => void`
trigger on drag sort。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputDragSortContext { newTags: TagInputValue; currentIndex: number; current: string \| number; targetIndex: number; target: string \| number }`
| N -onEnter | Function | | Typescript:`(value: TagInputValue, context: { e: KeyboardEvent; inputValue: string }) => void`
| N -onFocus | Function | | Typescript:`(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on focus | N -onInputChange | Function | | Typescript:`(value: string, context?: InputValueChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts)。
`interface InputValueChangeContext { e?: InputEvent \| MouseEvent \| CompositionEvent \| KeyboardEvent; trigger: 'input' \| 'clear' \| 'enter' \| 'blur' }`
| N -onMouseenter | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on mouseenter | N -onMouseleave | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on mouseleave | N -onPaste | Function | | Typescript:`(context: { e: ClipboardEvent; pasteValue: string }) => void`
| N -onRemove | Function | | Typescript:`(context: TagInputRemoveContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputRemoveContext { value: TagInputValue; index: number; item: string \| number; e?: MouseEvent \| KeyboardEvent; trigger: TagInputRemoveTrigger }`

`type TagInputRemoveTrigger = 'tag-remove' \| 'backspace'`
| N +suffix | TNode | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +suffixIcon | TElement | - | Typescript: `TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +tag | TNode | - | Typescript: `string \| TNode<{ value: string \| number }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +tagDisplay | Function | - | Typescript: `TNode<{ value: string \| number; index: number; onClose: (context?: { e?: MouseEvent }) => void; }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +tagProps | Object | - | Typescript: `TagProps`,[Tag API Documents](./tag?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N +tips | TNode | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +value | Array | [] | value。Typescript: `TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N +defaultValue | Array | [] | value。uncontrolled property。Typescript: `TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N +valueDisplay | TNode | - | Typescript: `string \| TNode<{ value: TagInputValue; onClose: (index: number, item?: any) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +onBlur | Function | | Typescript: `(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on blur | N +onChange | Function | | Typescript: `(value: TagInputValue, context: TagInputChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputChangeContext { trigger: TagInputTriggerSource; index?: number; item?: string \| number; e?: MouseEvent \| KeyboardEvent }`

`type TagInputTriggerSource = 'enter' \| 'tag-remove' \| 'backspace' \| 'clear'`
| N +onClear | Function | | Typescript: `(context: { e: MouseEvent }) => void`
| N +onClick | Function | | Typescript: `(context: { e: MouseEvent }) => void`
| N +onDragSort | Function | | Typescript: `(context: TagInputDragSortContext) => void`
trigger on drag sort。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputDragSortContext { newTags: TagInputValue; currentIndex: number; current: string \| number; targetIndex: number; target: string \| number }`
| N +onEnter | Function | | Typescript: `(value: TagInputValue, context: { e: KeyboardEvent; inputValue: string }) => void`
| N +onFocus | Function | | Typescript: `(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on focus | N +onInputChange | Function | | Typescript: `(value: string, context?: InputValueChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts)。
`interface InputValueChangeContext { e?: InputEvent \| MouseEvent \| CompositionEvent \| KeyboardEvent; trigger: 'input' \| 'clear' \| 'enter' \| 'blur' }`
| N +onMouseenter | Function | | Typescript: `(context: { e: MouseEvent }) => void`
trigger on mouseenter | N +onMouseleave | Function | | Typescript: `(context: { e: MouseEvent }) => void`
trigger on mouseleave | N +onPaste | Function | | Typescript: `(context: { e: ClipboardEvent; pasteValue: string }) => void`
| N +onRemove | Function | | Typescript: `(context: TagInputRemoveContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputRemoveContext { value: TagInputValue; index: number; item: string \| number; e?: MouseEvent \| KeyboardEvent; trigger: TagInputRemoveTrigger }`

`type TagInputRemoveTrigger = 'tag-remove' \| 'backspace'`
| N diff --git a/packages/products/tdesign-react/packages/components/tag-input/tag-input.md b/packages/products/tdesign-react/packages/components/tag-input/tag-input.md index 309cff2dc..ff6cea483 100644 --- a/packages/products/tdesign-react/packages/components/tag-input/tag-input.md +++ b/packages/products/tdesign-react/packages/components/tag-input/tag-input.md @@ -29,6 +29,7 @@ status | String | - | 输入框状态。可选项:default/success/warning/erro suffix | TNode | - | 后置图标前的后置内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N suffixIcon | TElement | - | 组件后置图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N tag | TNode | - | 自定义标签的内部内容,每一个标签的当前值。注意和 `valueDisplay` 区分,`valueDisplay` 是用来定义全部标签内容,而非某一个标签。TS 类型:`string \| TNode<{ value: string \| number }>`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N +tagDisplay | Function | - | 自定义单个标签的整体节点。TS 类型:`TNode<{ value: string \| number; index: number; onClose: (context?: { e?: MouseEvent }) => void; }>`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N tagProps | Object | - | 透传 Tag 组件全部属性。TS 类型:`TagProps`,[Tag API Documents](./tag?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N tips | TNode | - | 输入框下方提示文本,会根据不同的 `status` 呈现不同的样式。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/common.ts) | N value | Array | [] | 值。TS 类型:`TagInputValue` `type TagInputValue = Array`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/packages/components/tag-input/type.ts) | N diff --git a/packages/products/tdesign-react/packages/components/tag-input/type.ts b/packages/products/tdesign-react/packages/components/tag-input/type.ts index cd5712dce..235aa6a05 100644 --- a/packages/products/tdesign-react/packages/components/tag-input/type.ts +++ b/packages/products/tdesign-react/packages/components/tag-input/type.ts @@ -6,8 +6,8 @@ import { InputProps } from '../input'; import { TagProps } from '../tag'; -import { TNode, TElement, SizeEnum } from '../common'; -import { MouseEvent, KeyboardEvent, ClipboardEvent, FocusEvent, FormEvent, CompositionEvent } from 'react'; +import type { TNode, TElement, SizeEnum } from '../common'; +import type { MouseEvent, KeyboardEvent, ClipboardEvent, FocusEvent, FormEvent, CompositionEvent } from 'react'; export interface TdTagInputProps { /** @@ -108,6 +108,10 @@ export interface TdTagInputProps { * 自定义标签的内部内容,每一个标签的当前值。注意和 `valueDisplay` 区分,`valueDisplay` 是用来定义全部标签内容,而非某一个标签 */ tag?: string | TNode<{ value: string | number }>; + /** + * 自定义单个标签的整体节点 + */ + tagDisplay?: TNode<{ value: string | number; index: number; onClose: (context?: { e?: MouseEvent }) => void }>; /** * 透传 Tag 组件全部属性 */ diff --git a/packages/products/tdesign-vue-next/packages/components/tag-input/props.ts b/packages/products/tdesign-vue-next/packages/components/tag-input/props.ts index 33e8ff5f7..e57391e85 100644 --- a/packages/products/tdesign-vue-next/packages/components/tag-input/props.ts +++ b/packages/products/tdesign-vue-next/packages/components/tag-input/props.ts @@ -104,6 +104,10 @@ export default { tag: { type: [String, Function] as PropType, }, + /** 自定义单个标签的整体节点 */ + tagDisplay: { + type: Function as PropType, + }, /** 透传 Tag 组件全部属性 */ tagProps: { type: Object as PropType, diff --git a/packages/products/tdesign-vue-next/packages/components/tag-input/tag-input.en-US.md b/packages/products/tdesign-vue-next/packages/components/tag-input/tag-input.en-US.md index e92282b53..d470e5d5d 100644 --- a/packages/products/tdesign-vue-next/packages/components/tag-input/tag-input.en-US.md +++ b/packages/products/tdesign-vue-next/packages/components/tag-input/tag-input.en-US.md @@ -9,41 +9,42 @@ name | type | default | description | required autoWidth | Boolean | false | \- | N borderless | Boolean | false | \- | N clearable | Boolean | false | \- | N -collapsedItems | Slot / Function | - | Typescript:`TNode<{ value: TagInputValue; collapsedSelectedItems: TagInputValue; count: number; onClose: (context: { index: number, e?: MouseEvent }) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +collapsedItems | Slot / Function | - | Typescript: `TNode<{ value: TagInputValue; collapsedSelectedItems: TagInputValue; count: number; onClose: (context: { index: number, e?: MouseEvent }) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N disabled | Boolean | undefined | \- | N dragSort | Boolean | false | \- | N excessTagsDisplayType | String | break-line | options: scroll/break-line | N -inputProps | Object | - | Typescript:`InputProps`,[Input API Documents](./input?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N -inputValue | String / Number | '' | input value。`v-model:inputValue` is supported。Typescript:`string` | N -defaultInputValue | String / Number | '' | input value。uncontrolled property。Typescript:`string` | N -label | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +inputProps | Object | - | Typescript: `InputProps`,[Input API Documents](./input?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N +inputValue | String / Number | '' | input value。`v-model:inputValue` is supported。Typescript: `string` | N +defaultInputValue | String / Number | '' | input value。uncontrolled property。Typescript: `string` | N +label | String / Slot / Function | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N max | Number | - | max tag number | N minCollapsedNum | Number | 0 | \- | N placeholder | String | undefined | placeholder description | N -prefixIcon | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +prefixIcon | Slot / Function | - | Typescript: `TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N readonly | Boolean | undefined | \- | N -size | String | medium | options: small/medium/large。Typescript:`SizeEnum`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +size | String | medium | options: small/medium/large。Typescript: `SizeEnum`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N status | String | - | options: default/success/warning/error | N -suffix | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N -suffixIcon | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N -tag | String / Slot / Function | - | Typescript:`string \| TNode<{ value: string \| number }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N -tagProps | Object | - | Typescript:`TagProps`,[Tag API Documents](./tag?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N -tips | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N -value | Array | [] | value。`v-model` and `v-model:value` is supported。Typescript:`TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N -defaultValue | Array | [] | value。uncontrolled property。Typescript:`TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N -valueDisplay | String / Slot / Function | - | Typescript:`string \| TNode<{ value: TagInputValue; onClose: (index: number, item?: any) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N -onBlur | Function | | Typescript:`(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on blur | N -onChange | Function | | Typescript:`(value: TagInputValue, context: TagInputChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputChangeContext { trigger: TagInputTriggerSource; index?: number; item?: string \| number; e?: MouseEvent \| KeyboardEvent }`

`type TagInputTriggerSource = 'enter' \| 'tag-remove' \| 'backspace' \| 'clear'`
| N -onClear | Function | | Typescript:`(context: { e: MouseEvent }) => void`
| N -onClick | Function | | Typescript:`(context: { e: MouseEvent }) => void`
| N -onDragSort | Function | | Typescript:`(context: TagInputDragSortContext) => void`
trigger on drag sort。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputDragSortContext { newTags: TagInputValue; currentIndex: number; current: string \| number; targetIndex: number; target: string \| number }`
| N -onEnter | Function | | Typescript:`(value: TagInputValue, context: { e: KeyboardEvent; inputValue: string }) => void`
| N -onFocus | Function | | Typescript:`(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on focus | N -onInputChange | Function | | Typescript:`(value: string, context?: InputValueChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts)。
`interface InputValueChangeContext { e?: InputEvent \| MouseEvent \| CompositionEvent \| KeyboardEvent; trigger: 'input' \| 'clear' \| 'enter' \| 'blur' }`
| N -onMouseenter | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on mouseenter | N -onMouseleave | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on mouseleave | N -onPaste | Function | | Typescript:`(context: { e: ClipboardEvent; pasteValue: string }) => void`
| N -onRemove | Function | | Typescript:`(context: TagInputRemoveContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputRemoveContext { value: TagInputValue; index: number; item: string \| number; e?: MouseEvent \| KeyboardEvent; trigger: TagInputRemoveTrigger }`

`type TagInputRemoveTrigger = 'tag-remove' \| 'backspace'`
| N +suffix | String / Slot / Function | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +suffixIcon | Slot / Function | - | Typescript: `TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +tag | String / Slot / Function | - | Typescript: `string \| TNode<{ value: string \| number }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +tagDisplay | Function | - | Typescript: `TNode<{ value: string \| number; index: number; onClose: (context?: { e?: MouseEvent }) => void; }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +tagProps | Object | - | Typescript: `TagProps`,[Tag API Documents](./tag?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N +tips | String / Slot / Function | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +value | Array | [] | value。`v-model` and `v-model:value` is supported。Typescript: `TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N +defaultValue | Array | [] | value。uncontrolled property。Typescript: `TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N +valueDisplay | String / Slot / Function | - | Typescript: `string \| TNode<{ value: TagInputValue; onClose: (index: number, item?: any) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +onBlur | Function | | Typescript: `(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on blur | N +onChange | Function | | Typescript: `(value: TagInputValue, context: TagInputChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputChangeContext { trigger: TagInputTriggerSource; index?: number; item?: string \| number; e?: MouseEvent \| KeyboardEvent }`

`type TagInputTriggerSource = 'enter' \| 'tag-remove' \| 'backspace' \| 'clear'`
| N +onClear | Function | | Typescript: `(context: { e: MouseEvent }) => void`
| N +onClick | Function | | Typescript: `(context: { e: MouseEvent }) => void`
| N +onDragSort | Function | | Typescript: `(context: TagInputDragSortContext) => void`
trigger on drag sort。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputDragSortContext { newTags: TagInputValue; currentIndex: number; current: string \| number; targetIndex: number; target: string \| number }`
| N +onEnter | Function | | Typescript: `(value: TagInputValue, context: { e: KeyboardEvent; inputValue: string }) => void`
| N +onFocus | Function | | Typescript: `(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on focus | N +onInputChange | Function | | Typescript: `(value: string, context?: InputValueChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts)。
`interface InputValueChangeContext { e?: InputEvent \| MouseEvent \| CompositionEvent \| KeyboardEvent; trigger: 'input' \| 'clear' \| 'enter' \| 'blur' }`
| N +onMouseenter | Function | | Typescript: `(context: { e: MouseEvent }) => void`
trigger on mouseenter | N +onMouseleave | Function | | Typescript: `(context: { e: MouseEvent }) => void`
trigger on mouseleave | N +onPaste | Function | | Typescript: `(context: { e: ClipboardEvent; pasteValue: string }) => void`
| N +onRemove | Function | | Typescript: `(context: TagInputRemoveContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts)。
`interface TagInputRemoveContext { value: TagInputValue; index: number; item: string \| number; e?: MouseEvent \| KeyboardEvent; trigger: TagInputRemoveTrigger }`

`type TagInputRemoveTrigger = 'tag-remove' \| 'backspace'`
| N ### TagInput Events diff --git a/packages/products/tdesign-vue-next/packages/components/tag-input/tag-input.md b/packages/products/tdesign-vue-next/packages/components/tag-input/tag-input.md index 582bf6f2c..80f9483d5 100644 --- a/packages/products/tdesign-vue-next/packages/components/tag-input/tag-input.md +++ b/packages/products/tdesign-vue-next/packages/components/tag-input/tag-input.md @@ -27,6 +27,7 @@ status | String | - | 输入框状态。可选项:default/success/warning/erro suffix | String / Slot / Function | - | 后置图标前的后置内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N suffixIcon | Slot / Function | - | 组件后置图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N tag | String / Slot / Function | - | 自定义标签的内部内容,每一个标签的当前值。注意和 `valueDisplay` 区分,`valueDisplay` 是用来定义全部标签内容,而非某一个标签。TS 类型:`string \| TNode<{ value: string \| number }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N +tagDisplay | Function | - | 自定义单个标签的整体节点。TS 类型:`TNode<{ value: string \| number; index: number; onClose: (context?: { e?: MouseEvent }) => void; }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N tagProps | Object | - | 透传 Tag 组件全部属性。TS 类型:`TagProps`,[Tag API Documents](./tag?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N tips | String / Slot / Function | - | 输入框下方提示文本,会根据不同的 `status` 呈现不同的样式。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/common.ts) | N value | Array | [] | 值。支持语法糖 `v-model` 或 `v-model:value`。TS 类型:`TagInputValue` `type TagInputValue = Array`。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/tag-input/type.ts) | N diff --git a/packages/products/tdesign-vue-next/packages/components/tag-input/type.ts b/packages/products/tdesign-vue-next/packages/components/tag-input/type.ts index 8b2389d3b..6fc62fd6e 100644 --- a/packages/products/tdesign-vue-next/packages/components/tag-input/type.ts +++ b/packages/products/tdesign-vue-next/packages/components/tag-input/type.ts @@ -6,7 +6,7 @@ import { InputProps } from '../input'; import { TagProps } from '../tag'; -import { TNode, SizeEnum } from '../common'; +import type { TNode, SizeEnum } from '../common'; export interface TdTagInputProps { /** @@ -107,6 +107,10 @@ export interface TdTagInputProps { * 自定义标签的内部内容,每一个标签的当前值。注意和 `valueDisplay` 区分,`valueDisplay` 是用来定义全部标签内容,而非某一个标签 */ tag?: string | TNode<{ value: string | number }>; + /** + * 自定义单个标签的整体节点 + */ + tagDisplay?: TNode<{ value: string | number; index: number; onClose: (context?: { e?: MouseEvent }) => void }>; /** * 透传 Tag 组件全部属性 */ diff --git a/packages/products/tdesign-vue/src/tag-input/props.ts b/packages/products/tdesign-vue/src/tag-input/props.ts index d0a6968a8..fc683f7b4 100644 --- a/packages/products/tdesign-vue/src/tag-input/props.ts +++ b/packages/products/tdesign-vue/src/tag-input/props.ts @@ -104,6 +104,10 @@ export default { tag: { type: [String, Function] as PropType, }, + /** 自定义单个标签的整体节点 */ + tagDisplay: { + type: Function as PropType, + }, /** 透传 Tag 组件全部属性 */ tagProps: { type: Object as PropType, diff --git a/packages/products/tdesign-vue/src/tag-input/tag-input.en-US.md b/packages/products/tdesign-vue/src/tag-input/tag-input.en-US.md index d31a8f633..8b1124f6b 100644 --- a/packages/products/tdesign-vue/src/tag-input/tag-input.en-US.md +++ b/packages/products/tdesign-vue/src/tag-input/tag-input.en-US.md @@ -9,41 +9,42 @@ name | type | default | description | required autoWidth | Boolean | false | \- | N borderless | Boolean | false | \- | N clearable | Boolean | false | \- | N -collapsedItems | Slot / Function | - | Typescript:`TNode<{ value: TagInputValue; collapsedSelectedItems: TagInputValue; count: number; onClose: (context: { index: number, e?: MouseEvent }) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +collapsedItems | Slot / Function | - | Typescript: `TNode<{ value: TagInputValue; collapsedSelectedItems: TagInputValue; count: number; onClose: (context: { index: number, e?: MouseEvent }) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N disabled | Boolean | undefined | \- | N dragSort | Boolean | false | \- | N excessTagsDisplayType | String | break-line | options: scroll/break-line | N -inputProps | Object | - | Typescript:`InputProps`,[Input API Documents](./input?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N -inputValue | String / Number | '' | input value。`.sync` is supported。Typescript:`string` | N -defaultInputValue | String / Number | '' | input value。uncontrolled property。Typescript:`string` | N -label | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +inputProps | Object | - | Typescript: `InputProps`,[Input API Documents](./input?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N +inputValue | String / Number | '' | input value。`.sync` is supported。Typescript: `string` | N +defaultInputValue | String / Number | '' | input value。uncontrolled property。Typescript: `string` | N +label | String / Slot / Function | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N max | Number | - | max tag number | N minCollapsedNum | Number | 0 | \- | N placeholder | String | undefined | placeholder description | N -prefixIcon | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +prefixIcon | Slot / Function | - | Typescript: `TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N readonly | Boolean | undefined | \- | N -size | String | medium | options: small/medium/large。Typescript:`SizeEnum`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +size | String | medium | options: small/medium/large。Typescript: `SizeEnum`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N status | String | - | options: default/success/warning/error | N -suffix | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -suffixIcon | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -tag | String / Slot / Function | - | Typescript:`string \| TNode<{ value: string \| number }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -tagProps | Object | - | Typescript:`TagProps`,[Tag API Documents](./tag?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N -tips | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -value | Array | [] | value。`v-model` is supported。Typescript:`TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N -defaultValue | Array | [] | value。uncontrolled property。Typescript:`TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N -valueDisplay | String / Slot / Function | - | Typescript:`string \| TNode<{ value: TagInputValue; onClose: (index: number, item?: any) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -onBlur | Function | | Typescript:`(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on blur | N -onChange | Function | | Typescript:`(value: TagInputValue, context: TagInputChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts)。
`interface TagInputChangeContext { trigger: TagInputTriggerSource; index?: number; item?: string \| number; e?: MouseEvent \| KeyboardEvent }`

`type TagInputTriggerSource = 'enter' \| 'tag-remove' \| 'backspace' \| 'clear'`
| N -onClear | Function | | Typescript:`(context: { e: MouseEvent }) => void`
| N -onClick | Function | | Typescript:`(context: { e: MouseEvent }) => void`
| N -onDragSort | Function | | Typescript:`(context: TagInputDragSortContext) => void`
trigger on drag sort。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts)。
`interface TagInputDragSortContext { newTags: TagInputValue; currentIndex: number; current: string \| number; targetIndex: number; target: string \| number }`
| N -onEnter | Function | | Typescript:`(value: TagInputValue, context: { e: KeyboardEvent; inputValue: string }) => void`
| N -onFocus | Function | | Typescript:`(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on focus | N -onInputChange | Function | | Typescript:`(value: string, context?: InputValueChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts)。
`interface InputValueChangeContext { e?: InputEvent \| MouseEvent \| CompositionEvent \| KeyboardEvent; trigger: 'input' \| 'clear' \| 'enter' \| 'blur' }`
| N -onMouseenter | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on mouseenter | N -onMouseleave | Function | | Typescript:`(context: { e: MouseEvent }) => void`
trigger on mouseleave | N -onPaste | Function | | Typescript:`(context: { e: ClipboardEvent; pasteValue: string }) => void`
| N -onRemove | Function | | Typescript:`(context: TagInputRemoveContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts)。
`interface TagInputRemoveContext { value: TagInputValue; index: number; item: string \| number; e?: MouseEvent \| KeyboardEvent; trigger: TagInputRemoveTrigger }`

`type TagInputRemoveTrigger = 'tag-remove' \| 'backspace'`
| N +suffix | String / Slot / Function | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +suffixIcon | Slot / Function | - | Typescript: `TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +tag | String / Slot / Function | - | Typescript: `string \| TNode<{ value: string \| number }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +tagDisplay | Function | - | Typescript: `TNode<{ value: string \| number; index: number; onClose: (context?: { e?: MouseEvent }) => void; }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +tagProps | Object | - | Typescript: `TagProps`,[Tag API Documents](./tag?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N +tips | String / Slot / Function | - | Typescript: `string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +value | Array | [] | value。`v-model` is supported。Typescript: `TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N +defaultValue | Array | [] | value。uncontrolled property。Typescript: `TagInputValue` `type TagInputValue = Array`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N +valueDisplay | String / Slot / Function | - | Typescript: `string \| TNode<{ value: TagInputValue; onClose: (index: number, item?: any) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +onBlur | Function | | Typescript: `(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on blur | N +onChange | Function | | Typescript: `(value: TagInputValue, context: TagInputChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts)。
`interface TagInputChangeContext { trigger: TagInputTriggerSource; index?: number; item?: string \| number; e?: MouseEvent \| KeyboardEvent }`

`type TagInputTriggerSource = 'enter' \| 'tag-remove' \| 'backspace' \| 'clear'`
| N +onClear | Function | | Typescript: `(context: { e: MouseEvent }) => void`
| N +onClick | Function | | Typescript: `(context: { e: MouseEvent }) => void`
| N +onDragSort | Function | | Typescript: `(context: TagInputDragSortContext) => void`
trigger on drag sort。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts)。
`interface TagInputDragSortContext { newTags: TagInputValue; currentIndex: number; current: string \| number; targetIndex: number; target: string \| number }`
| N +onEnter | Function | | Typescript: `(value: TagInputValue, context: { e: KeyboardEvent; inputValue: string }) => void`
| N +onFocus | Function | | Typescript: `(value: TagInputValue, context: { inputValue: string; e: FocusEvent }) => void`
trigger on focus | N +onInputChange | Function | | Typescript: `(value: string, context?: InputValueChangeContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts)。
`interface InputValueChangeContext { e?: InputEvent \| MouseEvent \| CompositionEvent \| KeyboardEvent; trigger: 'input' \| 'clear' \| 'enter' \| 'blur' }`
| N +onMouseenter | Function | | Typescript: `(context: { e: MouseEvent }) => void`
trigger on mouseenter | N +onMouseleave | Function | | Typescript: `(context: { e: MouseEvent }) => void`
trigger on mouseleave | N +onPaste | Function | | Typescript: `(context: { e: ClipboardEvent; pasteValue: string }) => void`
| N +onRemove | Function | | Typescript: `(context: TagInputRemoveContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts)。
`interface TagInputRemoveContext { value: TagInputValue; index: number; item: string \| number; e?: MouseEvent \| KeyboardEvent; trigger: TagInputRemoveTrigger }`

`type TagInputRemoveTrigger = 'tag-remove' \| 'backspace'`
| N ### TagInput Events diff --git a/packages/products/tdesign-vue/src/tag-input/tag-input.md b/packages/products/tdesign-vue/src/tag-input/tag-input.md index 40e30b3a5..b06eb19e6 100644 --- a/packages/products/tdesign-vue/src/tag-input/tag-input.md +++ b/packages/products/tdesign-vue/src/tag-input/tag-input.md @@ -27,6 +27,7 @@ status | String | - | 输入框状态。可选项:default/success/warning/erro suffix | String / Slot / Function | - | 后置图标前的后置内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N suffixIcon | Slot / Function | - | 组件后置图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N tag | String / Slot / Function | - | 自定义标签的内部内容,每一个标签的当前值。注意和 `valueDisplay` 区分,`valueDisplay` 是用来定义全部标签内容,而非某一个标签。TS 类型:`string \| TNode<{ value: string \| number }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N +tagDisplay | Function | - | 自定义单个标签的整体节点。TS 类型:`TNode<{ value: string \| number; index: number; onClose: (context?: { e?: MouseEvent }) => void; }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N tagProps | Object | - | 透传 Tag 组件全部属性。TS 类型:`TagProps`,[Tag API Documents](./tag?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N tips | String / Slot / Function | - | 输入框下方提示文本,会根据不同的 `status` 呈现不同的样式。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N value | Array | [] | 值。支持语法糖 `v-model`。TS 类型:`TagInputValue` `type TagInputValue = Array`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/tag-input/type.ts) | N diff --git a/packages/products/tdesign-vue/src/tag-input/type.ts b/packages/products/tdesign-vue/src/tag-input/type.ts index 3c0c9cad5..c9e4440ff 100644 --- a/packages/products/tdesign-vue/src/tag-input/type.ts +++ b/packages/products/tdesign-vue/src/tag-input/type.ts @@ -6,7 +6,7 @@ import { InputProps } from '../input'; import { TagProps } from '../tag'; -import { TNode, SizeEnum } from '../common'; +import type { TNode, SizeEnum } from '../common'; export interface TdTagInputProps { /** @@ -107,6 +107,10 @@ export interface TdTagInputProps { * 自定义标签的内部内容,每一个标签的当前值。注意和 `valueDisplay` 区分,`valueDisplay` 是用来定义全部标签内容,而非某一个标签 */ tag?: string | TNode<{ value: string | number }>; + /** + * 自定义单个标签的整体节点 + */ + tagDisplay?: TNode<{ value: string | number; index: number; onClose: (context?: { e?: MouseEvent }) => void }>; /** * 透传 Tag 组件全部属性 */ diff --git a/packages/scripts/api.json b/packages/scripts/api.json index bd9bef59d..83662f682 100644 --- a/packages/scripts/api.json +++ b/packages/scripts/api.json @@ -135051,6 +135051,45 @@ "TNode" ] }, + { + "id": 1779877619, + "platform_framework": [ + "1", + "2" + ], + "component": "TagInput", + "field_category": 1, + "field_name": "tagDisplay", + "field_type": [ + "32" + ], + "field_default_value": "", + "field_enum": "", + "field_desc_zh": "自定义单个标签的整体节点", + "field_desc_en": null, + "field_required": 0, + "event_input": "", + "create_time": "2026-05-27 10:26:59", + "update_time": "2026-05-27 10:26:59", + "event_output": null, + "custom_field_type": "TNode<{ value: string | number; index: number; onClose: (context?: { e?: MouseEvent }) => void; }>", + "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": [ + "Function" + ] + }, { "id": 2096, "platform_framework": [