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;
|