feat: time-picker custom clearIcon

pull/4499/head
tangjinzhou 2021-08-05 10:25:58 +08:00
parent 11b718518d
commit 5ae9597d53
4 changed files with 7 additions and 5 deletions

View File

@ -180,7 +180,7 @@ export type { TagProps } from './tag';
export { default as Tag, CheckableTag } from './tag'; export { default as Tag, CheckableTag } from './tag';
export type { TimePickerProps, TimeRangePickerProps } from './time-picker'; export type { TimePickerProps, TimeRangePickerProps } from './time-picker';
export { default as TimePicker } from './time-picker'; export { default as TimePicker, TimeRangePicker } from './time-picker';
export type { TimelineProps, TimelineItemProps } from './timeline'; export type { TimelineProps, TimelineItemProps } from './timeline';
export { default as Timeline, TimelineItem } from './timeline'; export { default as Timeline, TimelineItem } from './timeline';

View File

@ -148,6 +148,7 @@ export default function generateRangePicker<DateType>(
dateRender = slots.dateRender, dateRender = slots.dateRender,
renderExtraFooter = slots.renderExtraFooter, renderExtraFooter = slots.renderExtraFooter,
separator = slots.separator?.(), separator = slots.separator?.(),
clearIcon = slots.clearIcon?.(),
...restProps ...restProps
} = p; } = p;
const { format, showTime } = p as any; const { format, showTime } = p as any;
@ -176,7 +177,7 @@ export default function generateRangePicker<DateType>(
suffixIcon={ suffixIcon={
suffixIcon || (picker === 'time' ? <ClockCircleOutlined /> : <CalendarOutlined />) suffixIcon || (picker === 'time' ? <ClockCircleOutlined /> : <CalendarOutlined />)
} }
clearIcon={<CloseCircleFilled />} clearIcon={clearIcon || <CloseCircleFilled />}
allowClear={allowClear} allowClear={allowClear}
transitionName={transitionName || `${rootPrefixCls.value}-slide-up`} transitionName={transitionName || `${rootPrefixCls.value}-slide-up`}
{...restProps} {...restProps}

View File

@ -145,6 +145,7 @@ export default function generatePicker<DateType>(
monthCellRender = slots.monthCellRender || monthCellRender = slots.monthCellRender ||
(props as any).monthCellContentRender || (props as any).monthCellContentRender ||
slots.monthCellContentRender, slots.monthCellContentRender,
clearIcon = slots.clearIcon?.(),
...restProps ...restProps
} = p; } = p;
const showTime = p.showTime === '' ? true : p.showTime; const showTime = p.showTime === '' ? true : p.showTime;
@ -181,7 +182,7 @@ export default function generatePicker<DateType>(
suffixIcon || suffixIcon ||
(mergedPicker === 'time' ? <ClockCircleOutlined /> : <CalendarOutlined />) (mergedPicker === 'time' ? <ClockCircleOutlined /> : <CalendarOutlined />)
} }
clearIcon={<CloseCircleFilled />} clearIcon={clearIcon || <CloseCircleFilled />}
allowClear={allowClear} allowClear={allowClear}
transitionName={transitionName || `${rootPrefixCls.value}-slide-up`} transitionName={transitionName || `${rootPrefixCls.value}-slide-up`}
{...restProps} {...restProps}

View File

@ -92,7 +92,6 @@ function createTimePicker<DateType>(generateConfig: GenerateConfig<DateType>) {
return ( return (
<InternalTimePicker <InternalTimePicker
{...attrs} {...attrs}
{...slots}
{...props} {...props}
dropdownClassName={props.popupClassName} dropdownClassName={props.popupClassName}
mode={undefined} mode={undefined}
@ -103,6 +102,7 @@ function createTimePicker<DateType>(generateConfig: GenerateConfig<DateType>) {
onFocus={onFoucs} onFocus={onFoucs}
onBlur={onBlur} onBlur={onBlur}
onOk={onOk} onOk={onOk}
v-slots={slots}
/> />
); );
}; };
@ -177,7 +177,6 @@ function createTimePicker<DateType>(generateConfig: GenerateConfig<DateType>) {
return ( return (
<InternalRangePicker <InternalRangePicker
{...attrs} {...attrs}
{...slots}
{...props} {...props}
dropdownClassName={props.popupClassName} dropdownClassName={props.popupClassName}
picker="time" picker="time"
@ -190,6 +189,7 @@ function createTimePicker<DateType>(generateConfig: GenerateConfig<DateType>) {
onPanelChange={onPanelChange} onPanelChange={onPanelChange}
onOk={onOk} onOk={onOk}
onCalendarChange={onCalendarChange} onCalendarChange={onCalendarChange}
v-slots={slots}
/> />
); );
}; };