Skip to content

Commit 6621788

Browse files
committed
feat: Input icon support function render
1 parent 2ae3f05 commit 6621788

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

examples/custom-icon.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,12 @@ class CustomIconComponent extends React.Component {
103103
value={value}
104104
mode="combobox"
105105
backfill
106-
inputIcon={getSvg(arrowPath)}
106+
inputIcon={({ searchValue }) => {
107+
if (searchValue) {
108+
return '😺';
109+
}
110+
return getSvg(arrowPath);
111+
}}
107112
clearIcon={getSvg(clearPath)}
108113
removeIcon={getSvg(clearPath)}
109114
menuItemSelectedIcon={singleItemIcon}

src/TransBtn.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { RenderNode } from './interface';
55
export interface TransBtnProps {
66
className: string;
77
customizeIcon: RenderNode;
8-
customizeIconProps?: { isSelected: boolean };
8+
customizeIconProps?: any;
99
onMouseDown?: React.MouseEventHandler<HTMLSpanElement>;
1010
onClick?: React.MouseEventHandler<HTMLSpanElement>;
1111
children?: React.ReactNode;

src/generate.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ export interface SelectProps<OptionsType extends object[], ValueType> extends Re
8787
allowClear?: boolean;
8888
clearIcon?: React.ReactNode;
8989
showArrow?: boolean;
90-
inputIcon?: React.ReactNode;
90+
inputIcon?: RenderNode;
9191
removeIcon?: React.ReactNode;
9292
menuItemSelectedIcon?: RenderNode;
9393

@@ -836,6 +836,7 @@ export default function generateSelector<
836836
[`${prefixCls}-arrow-loading`]: loading,
837837
})}
838838
customizeIcon={inputIcon}
839+
customizeIconProps={{ loading, searchValue: mergedSearchValue }}
839840
/>
840841
);
841842
}

0 commit comments

Comments
 (0)