ant-design-vue/components/date-picker/InputIcon.tsx
2020-10-14 23:12:51 +08:00

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;