diff --git a/src/cascader/_example/collapsed.vue b/src/cascader/_example/collapsed.vue
index 1d6910be60..c6176d4b30 100644
--- a/src/cascader/_example/collapsed.vue
+++ b/src/cascader/_example/collapsed.vue
@@ -1,24 +1,57 @@
-
-
-
-
-
-
-
- {{ item }}
-
-
- +{{ count - 1 }}
-
+ default:
+
+
+ use collapsedItems:
+
+ size control:
+ (size = value)" />
+
+
+ disabled control:
+ (disabled = value)" />
+
+
+ readonly control:
+ (readonly = value)" />
+
+
+
+
+
diff --git a/src/cascader/cascader.en-US.md b/src/cascader/cascader.en-US.md
index f48768f839..1ec1a79ae8 100644
--- a/src/cascader/cascader.en-US.md
+++ b/src/cascader/cascader.en-US.md
@@ -1,6 +1,7 @@
:: BASE_DOC ::
## API
+
### Cascader Props
name | type | default | description | required
@@ -10,7 +11,7 @@ borderless | Boolean | false | \- | N
checkProps | Object | - | Typescript:`CheckboxProps`,[Checkbox API Documents](./checkbox?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/cascader/type.ts) | N
checkStrictly | Boolean | false | \- | N
clearable | Boolean | false | \- | N
-collapsedItems | Slot / Function | - | Typescript:`TNode<{ value: CascaderOption[]; collapsedSelectedItems: CascaderOption[]; 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: CascaderOption[]; collapsedSelectedItems: CascaderOption[]; count: number; onClose: (context: { index: number, e?: MouseEvent }) => void }>`。[see more ts definition](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | 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
filter | Function | - | Typescript:`(filterWords: string, node: TreeNodeModel) => boolean \| Promise` | N
diff --git a/src/cascader/cascader.md b/src/cascader/cascader.md
index 900d94dddc..f367c08b7f 100644
--- a/src/cascader/cascader.md
+++ b/src/cascader/cascader.md
@@ -1,16 +1,17 @@
:: BASE_DOC ::
## API
+
### Cascader Props
-名称 | 类型 | 默认值 | 说明 | 必传
+名称 | 类型 | 默认值 | 描述 | 必传
-- | -- | -- | -- | --
autofocus | Boolean | - | 自动聚焦 | N
borderless | Boolean | false | 无边框模式 | N
checkProps | Object | - | 参考 checkbox 组件 API。TS 类型:`CheckboxProps`,[Checkbox API Documents](./checkbox?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue-next/tree/develop/src/cascader/type.ts) | N
checkStrictly | Boolean | false | 父子节点选中状态不再关联,可各自选中或取消 | N
clearable | Boolean | false | 是否支持清空选项 | N
-collapsedItems | Slot / Function | - | 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,`count` 表示折叠的数量。TS 类型:`TNode<{ value: CascaderOption[]; collapsedSelectedItems: CascaderOption[]; count: number }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N
+collapsedItems | Slot / Function | - | 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedSelectedItems` 表示折叠的标签,`count` 表示折叠的数量,`onClose` 表示移除标签的事件回调。TS 类型:`TNode<{ value: CascaderOption[]; collapsedSelectedItems: CascaderOption[]; count: number; onClose: (context: { index: number, e?: MouseEvent }) => void }>`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N
disabled | Boolean | - | 是否禁用组件 | N
empty | String / Slot / Function | - | 无匹配选项时的内容,默认全局配置为 '暂无数据'。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue-next/blob/develop/src/common.ts) | N
filter | Function | - | 自定义过滤方法,用于对现有数据进行搜索过滤,判断是否过滤某一项数据。TS 类型:`(filterWords: string, node: TreeNodeModel) => boolean \| Promise` | N
diff --git a/src/cascader/props.ts b/src/cascader/props.ts
index a6c18a8e31..181112b438 100644
--- a/src/cascader/props.ts
+++ b/src/cascader/props.ts
@@ -20,7 +20,7 @@ export default {
checkStrictly: Boolean,
/** 是否支持清空选项 */
clearable: Boolean,
- /** 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedTags` 表示折叠的标签,`count` 表示折叠的数量 */
+ /** 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedSelectedItems` 表示折叠的标签,`count` 表示折叠的数量,`onClose` 表示移除标签的事件回调 */
collapsedItems: {
type: Function as PropType,
},
diff --git a/src/cascader/type.ts b/src/cascader/type.ts
index d159e64fe2..42454a5e23 100644
--- a/src/cascader/type.ts
+++ b/src/cascader/type.ts
@@ -39,9 +39,14 @@ export interface TdCascaderProps;
+ * 多选情况下,用于设置折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedSelectedItems` 表示折叠的标签,`count` 表示折叠的数量,`onClose` 表示移除标签的事件回调
+ */
+ collapsedItems?: TNode<{
+ value: CascaderOption[];
+ collapsedSelectedItems: CascaderOption[];
+ count: number;
+ onClose: (context: { index: number; e?: MouseEvent }) => void;
+ }>;
/**
* 是否禁用组件
*/
diff --git a/src/dropdown/props.ts b/src/dropdown/props.ts
index f55039d969..528d8e46e8 100644
--- a/src/dropdown/props.ts
+++ b/src/dropdown/props.ts
@@ -58,7 +58,20 @@ export default {
default: 'bottom-left' as TdDropdownProps['placement'],
validator(val: TdDropdownProps['placement']): boolean {
if (!val) return true;
- return ['top', 'left', 'right', 'bottom', 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'left-top', 'left-bottom', 'right-top', 'right-bottom'].includes(val);
+ return [
+ 'top',
+ 'left',
+ 'right',
+ 'bottom',
+ 'top-left',
+ 'top-right',
+ 'bottom-left',
+ 'bottom-right',
+ 'left-top',
+ 'left-bottom',
+ 'right-top',
+ 'right-bottom',
+ ].includes(val);
},
},
/** 透传 Popup 组件属性,方便更加自由地控制。比如使用 popupProps.overlayStyle 设置浮层样式 */
diff --git a/src/select-input/_example/collapsed-items.vue b/src/select-input/_example/collapsed-items.vue
index 8ae5fe1d3a..d5639a8c55 100644
--- a/src/select-input/_example/collapsed-items.vue
+++ b/src/select-input/_example/collapsed-items.vue
@@ -1,5 +1,6 @@
+ default:
+ use collapsedItems:
+
+ size control:
+ (size = value)" />
+
+
+ disabled control:
+ (disabled = value)" />
+
+
+ readonly control:
+ (readonly = value)" />
+
@@ -45,23 +61,26 @@
-
-
- More({{ collapsedTags.length }})
-
-
- {{ item }}
-
-
-
+
+