23 lines
765 B
Vue
23 lines
765 B
Vue
![]() |
import CalendarOutlined from '@ant-design/icons-vue/CalendarOutlined';
|
||
![]() |
import { isValidElement } from '../_util/props-util';
|
||
|
import { cloneElement } from '../_util/vnode';
|
||
![]() |
import classNames from '../_util/classNames';
|
||
![]() |
|
||
![]() |
const InputIcon = (_: any, { attrs }) => {
|
||
![]() |
const { suffixIcon, prefixCls } = attrs;
|
||
|
return (
|
||
|
(suffixIcon && isValidElement(suffixIcon) ? (
|
||
|
cloneElement(suffixIcon, {
|
||
|
class: classNames({
|
||
![]() |
[suffixIcon.props?.class]: suffixIcon.props?.class,
|
||
![]() |
[`${prefixCls}-picker-icon`]: true,
|
||
|
}),
|
||
|
})
|
||
|
) : (
|
||
|
<span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>
|
||
|
)) || <CalendarOutlined class={`${prefixCls}-picker-icon`} />
|
||
|
);
|
||
![]() |
};
|
||
![]() |
InputIcon.inheritAttrs = false;
|
||
|
export default InputIcon;
|