1
0
Эх сурвалжийг харах

chore: [TreeSelect] modify renderSelectedItem type #265 (#266)

Co-authored-by: chenyuling <[email protected]>
boomboomchen 3 жил өмнө
parent
commit
9d0ec9ddc1

+ 9 - 8
packages/semi-foundation/treeSelect/foundation.ts

@@ -29,14 +29,15 @@ export type ValidateStatus = 'error' | 'warning' | 'default';
 
 export type Size = 'small' | 'large' | 'default';
 
-export interface BasicRenderSelectedItem {
-    (treeNode: BasicTreeNodeData): any;
-    (treeNode: BasicTreeNodeData, otherProps: { index: number | string; onClose: (tagContent: any, e: any) => void }):
-    {
-        isRenderInTag: boolean;
-        content: any;
-    };
-}
+export type BasicRenderSelectedItemInMultiple = (
+    treeNode: BasicTreeNodeData, 
+    otherProps: { index: number | string; onClose: (tagContent: any, e: any) => void }
+)=> {
+    isRenderInTag: boolean;
+    content: any;
+};
+export type BasicRenderSelectedItemInSingle = (treeNode: BasicTreeNodeData) => any;
+export type BasicRenderSelectedItem = BasicRenderSelectedItemInSingle | BasicRenderSelectedItemInMultiple;
 
 export interface BasicTriggerRenderProps {
     [x: string]: any;

+ 3 - 16
packages/semi-ui/treeSelect/index.tsx

@@ -80,20 +80,7 @@ export type RenderSelectedItemInMultiple = (
     content: React.ReactNode;
 };
 
-export interface RenderSelectedItem {
-    (treeNode: TreeNodeData): React.ReactNode;
-    (
-        treeNode: TreeNodeData,
-        otherProps: {
-            index: number | string;
-            onClose: (tagContent: any, e: React.MouseEvent) => void;
-        }
-    ):
-    {
-        isRenderInTag: boolean;
-        content: React.ReactNode;
-    };
-}
+export type RenderSelectedItem = RenderSelectedItemInSingle | RenderSelectedItemInMultiple;
 
 export type OverrideCommonProps =
 'renderFullLabel'
@@ -698,7 +685,7 @@ class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState> {
                 this.removeTag(key);
             };
             const { content, isRenderInTag } = (treeNodeLabelProp in item && item) ?
-                renderSelectedItem(item, { index: key, onClose }) :
+                (renderSelectedItem as RenderSelectedItemInMultiple)(item, { index: key, onClose }) :
                 null;
             if (!content) {
                 return;
@@ -969,7 +956,7 @@ class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState> {
             });
         if (isFunction(renderSelectedItem)) {
             const { content, isRenderInTag } = treeNodeLabelProp in item && item ?
-                renderSelectedItem(item, { index: idx, onClose }) :
+                (renderSelectedItem as RenderSelectedItemInMultiple)(item, { index: idx, onClose }):
                 null;
             if (isRenderInTag) {
                 return <Tag {...tagProps}>{content}</Tag>;