fix: use dayjs

pull/4499/head
tangjinzhou 2021-08-03 21:30:45 +08:00
parent d8c8bc4156
commit 6261cc0e59
5 changed files with 17 additions and 19 deletions

View File

@ -140,7 +140,7 @@ export default function generatePicker<DateType>(generateConfig: GenerateConfig<
if (picker) { if (picker) {
additionalOverrideProps.picker = picker; additionalOverrideProps.picker = picker;
} }
const mergedPicker = picker || p.picker; const mergedPicker = picker || p.picker || 'date';
additionalOverrideProps = { additionalOverrideProps = {
...additionalOverrideProps, ...additionalOverrideProps,
@ -172,6 +172,7 @@ export default function generatePicker<DateType>(generateConfig: GenerateConfig<
transitionName={transitionName || `${rootPrefixCls.value}-slide-up`} transitionName={transitionName || `${rootPrefixCls.value}-slide-up`}
{...restProps} {...restProps}
{...additionalOverrideProps} {...additionalOverrideProps}
picker={mergedPicker}
value={value.value} value={value.value}
defaultValue={defaultValue.value} defaultValue={defaultValue.value}
defaultPickerValue={defaultPickerValue.value} defaultPickerValue={defaultPickerValue.value}
@ -206,7 +207,7 @@ export default function generatePicker<DateType>(generateConfig: GenerateConfig<
}); });
} }
const DatePicker = getPicker<DatePickerProps>('date', 'ADatePicker'); const DatePicker = getPicker<DatePickerProps>(undefined, 'ADatePicker');
const WeekPicker = getPicker<Omit<PickerDateProps<DateType>, 'picker'>>('week', 'AWeekPicker'); const WeekPicker = getPicker<Omit<PickerDateProps<DateType>, 'picker'>>('week', 'AWeekPicker');
const MonthPicker = getPicker<Omit<PickerDateProps<DateType>, 'picker'>>('month', 'AMonthPicker'); const MonthPicker = getPicker<Omit<PickerDateProps<DateType>, 'picker'>>('month', 'AMonthPicker');
const YearPicker = getPicker<Omit<PickerDateProps<DateType>, 'picker'>>('year', 'AYearPicker'); const YearPicker = getPicker<Omit<PickerDateProps<DateType>, 'picker'>>('year', 'AYearPicker');

View File

@ -1,4 +1,4 @@
import DatePicker from './moment'; import DatePicker from './dayjs';
export * from './moment'; export * from './dayjs';
export default DatePicker; export default DatePicker;

View File

@ -191,13 +191,14 @@ function Picker<DateType>() {
// ], // ],
setup(props, { attrs, expose }) { setup(props, { attrs, expose }) {
const inputRef = ref(null); const inputRef = ref(null);
const picker = computed(() => picker.value ?? 'date');
const needConfirmButton = computed( const needConfirmButton = computed(
() => (props.picker === 'date' && !!props.showTime) || props.picker === 'time', () => (picker.value === 'date' && !!props.showTime) || picker.value === 'time',
); );
// ============================= State ============================= // ============================= State =============================
const formatList = computed(() => const formatList = computed(() =>
toArray(getDefaultFormat(props.format, props.picker, props.showTime, props.use12Hours)), toArray(getDefaultFormat(props.format, picker.value, props.showTime, props.use12Hours)),
); );
// Panel ref // Panel ref
@ -273,12 +274,11 @@ function Picker<DateType>() {
if (props.disabled && newOpen) { if (props.disabled && newOpen) {
return; return;
} }
triggerInnerOpen(newOpen); triggerInnerOpen(newOpen);
}; };
const forwardKeydown = (e: KeyboardEvent) => { const forwardKeydown = (e: KeyboardEvent) => {
if (mergedOpen && operationRef.value && operationRef.value.onKeydown) { if (mergedOpen.value && operationRef.value && operationRef.value.onKeydown) {
// Let popup panel handle keyboard // Let popup panel handle keyboard
return operationRef.value.onKeydown(e); return operationRef.value.onKeydown(e);
} }
@ -355,14 +355,11 @@ function Picker<DateType>() {
}); });
// Change picker should sync back with text value // Change picker should sync back with text value
watch( watch(picker, () => {
() => props.picker, if (!mergedOpen.value) {
() => { resetText();
if (!mergedOpen.value) { }
resetText(); });
}
},
);
// Sync innerValue with control mode // Sync innerValue with control mode
watch(mergedValue, () => { watch(mergedValue, () => {
@ -386,7 +383,7 @@ function Picker<DateType>() {
useProvidePanel({ useProvidePanel({
operationRef, operationRef,
hideHeader: computed(() => props.picker === 'time'), hideHeader: computed(() => picker.value === 'time'),
panelRef: panelDivRef, panelRef: panelDivRef,
onSelect: onContextSelect, onSelect: onContextSelect,
open: mergedOpen, open: mergedOpen,

View File

@ -115,7 +115,7 @@ export default function usePickerInput({
return; return;
} }
if (blurToCancel) { if (blurToCancel.value) {
setTimeout(() => { setTimeout(() => {
let { activeElement } = document; let { activeElement } = document;
while (activeElement && activeElement.shadowRoot) { while (activeElement && activeElement.shadowRoot) {

2
v2-doc

@ -1 +1 @@
Subproject commit fc73e64bcdf41be854c2f7a907c05b056ad652ab Subproject commit 47e2b43427506e270fc8b39aae9c5c5649da3931