Skip to content

Commit 80918cb

Browse files
authored
refactor:datepicker (#6245)
1 parent 197e209 commit 80918cb

File tree

9 files changed

+1472
-1334
lines changed

9 files changed

+1472
-1334
lines changed

components/date-picker/generatePicker/generateRangePicker.tsx

+11-2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ import { FormItemInputContext, useInjectFormItemContext } from '../../form/FormI
2020
import omit from '../../_util/omit';
2121
import { getMergedStatus, getStatusClassNames } from '../../_util/statusUtils';
2222

23+
//CSSINJS
24+
import useStyle from '../style';
25+
2326
export default function generateRangePicker<DateType, ExtraProps = {}>(
2427
generateConfig: GenerateConfig<DateType>,
2528
extraProps: ExtraProps,
@@ -58,6 +61,10 @@ export default function generateRangePicker<DateType, ExtraProps = {}>(
5861
'picker',
5962
props,
6063
);
64+
65+
// style
66+
const [wrapSSR, hashId] = useStyle(prefixCls);
67+
6168
const pickerRef = ref();
6269
expose({
6370
focus: () => {
@@ -166,7 +173,7 @@ export default function generateRangePicker<DateType, ExtraProps = {}>(
166173
{formItemInputContext.hasFeedback && formItemInputContext.feedbackIcon}
167174
</>
168175
);
169-
return (
176+
return wrapSSR(
170177
<VCRangePicker
171178
dateRender={dateRender}
172179
renderExtraFooter={renderExtraFooter}
@@ -202,6 +209,7 @@ export default function generateRangePicker<DateType, ExtraProps = {}>(
202209
formItemInputContext.hasFeedback,
203210
),
204211
attrs.class,
212+
hashId.value,
205213
)}
206214
locale={locale!.lang}
207215
prefixCls={pre}
@@ -213,14 +221,15 @@ export default function generateRangePicker<DateType, ExtraProps = {}>(
213221
superNextIcon={slots.superNextIcon?.() || <span class={`${pre}-super-next-icon`} />}
214222
components={Components}
215223
direction={direction.value}
224+
dropdownClassName={classNames(hashId.value)}
216225
onChange={onChange}
217226
onOpenChange={onOpenChange}
218227
onFocus={onFocus}
219228
onBlur={onBlur}
220229
onPanelChange={onPanelChange}
221230
onOk={onOk}
222231
onCalendarChange={onCalendarChange}
223-
/>
232+
/>,
224233
);
225234
};
226235
},

components/date-picker/generatePicker/generateSinglePicker.tsx

+12-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ import devWarning from '../../vc-util/devWarning';
1818
import { FormItemInputContext, useInjectFormItemContext } from '../../form/FormItemContext';
1919
import { getMergedStatus, getStatusClassNames } from '../../_util/statusUtils';
2020

21+
//CSSINJS
22+
import useStyle from '../style';
23+
2124
export default function generateSinglePicker<DateType, ExtraProps = {}>(
2225
generateConfig: GenerateConfig<DateType>,
2326
extraProps: ExtraProps,
@@ -67,6 +70,10 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
6770
'picker',
6871
props,
6972
);
73+
74+
// style
75+
const [wrapSSR, hashId] = useStyle(prefixCls);
76+
7077
const pickerRef = ref();
7178
expose({
7279
focus: () => {
@@ -156,7 +163,7 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
156163
id = formItemContext.id.value,
157164
...restProps
158165
} = p;
159-
const showTime = p.showTime === '' ? true : p.showTime;
166+
const showTime = (p as any).showTime === '' ? true : p.showTime;
160167
const { format } = p as any;
161168

162169
let additionalOverrideProps: any = {};
@@ -185,7 +192,7 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
185192
{formItemInputContext.hasFeedback && formItemInputContext.feedbackIcon}
186193
</>
187194
);
188-
return (
195+
return wrapSSR(
189196
<RCPicker
190197
monthCellRender={monthCellRender}
191198
dateRender={dateRender}
@@ -217,6 +224,7 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
217224
formItemInputContext.hasFeedback,
218225
),
219226
attrs.class,
227+
hashId.value,
220228
)}
221229
prefixCls={pre}
222230
getPopupContainer={attrs.getCalendarContainer || getPopupContainer.value}
@@ -227,13 +235,14 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
227235
superNextIcon={slots.superNextIcon?.() || <span class={`${pre}-super-next-icon`} />}
228236
components={Components}
229237
direction={direction.value}
238+
dropdownClassName={classNames(hashId.value)}
230239
onChange={onChange}
231240
onOpenChange={onOpenChange}
232241
onFocus={onFocus}
233242
onBlur={onBlur}
234243
onPanelChange={onPanelChange}
235244
onOk={onOk}
236-
/>
245+
/>,
237246
);
238247
};
239248
},

0 commit comments

Comments
 (0)