Skip to content

Commit c7f9353

Browse files
authored
fix: fix time format error (#709)
* test: driven * fix: fill
1 parent 2760d5d commit c7f9353

File tree

3 files changed

+25
-3
lines changed

3 files changed

+25
-3
lines changed

src/hooks/useTimeConfig.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export function getTimeConfig<Config extends object>(
5656

5757
return {
5858
format: 'HH:mm:ss',
59-
...timeConfig,
59+
...pickProps(timeConfig),
6060
};
6161
}
6262

src/utils/miscUtil.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,13 @@ export function fillIndex<T extends any[]>(ori: T, index: number, value: T[numbe
2424
return clone;
2525
}
2626

27-
export function pickProps<T extends object>(props: T, keys: (keyof T)[] | readonly (keyof T)[]) {
27+
/** Pick props from the key list. Will filter empty value */
28+
export function pickProps<T extends object>(props: T, keys?: (keyof T)[] | readonly (keyof T)[]) {
2829
const clone = {} as T;
29-
keys.forEach((key) => {
30+
31+
const mergedKeys = (keys || Object.keys(props)) as typeof keys;
32+
33+
mergedKeys.forEach((key) => {
3034
if (props[key] !== undefined) {
3135
clone[key] = props[key];
3236
}

tests/picker.spec.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,4 +1275,22 @@ describe('Picker.Basic', () => {
12751275

12761276
expect(document.querySelector('.rc-picker-dropdown')).toHaveClass('bamboo');
12771277
});
1278+
1279+
it('showTime config should have format', () => {
1280+
render(
1281+
<DayPicker
1282+
showTime={{
1283+
format: undefined,
1284+
}}
1285+
open
1286+
defaultValue={getDay('2000-01-01 03:05:07')}
1287+
/>,
1288+
);
1289+
1290+
// console.log(document.body.innerHTML);
1291+
1292+
expect(document.querySelector('.rc-picker-time-panel .rc-picker-header').textContent).toBe(
1293+
'03:05:07',
1294+
);
1295+
});
12781296
});

0 commit comments

Comments
 (0)