refactor: calendar
parent
c69495a5ea
commit
95acde2856
|
@ -39,7 +39,6 @@ function YearSelect<DateType>(props: SharedProps<DateType>) {
|
||||||
for (let index = start; index < end; index++) {
|
for (let index = start; index < end; index++) {
|
||||||
options.push({ label: `${index}${suffix}`, value: index });
|
options.push({ label: `${index}${suffix}`, value: index });
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Select
|
<Select
|
||||||
size={fullscreen ? undefined : 'small'}
|
size={fullscreen ? undefined : 'small'}
|
||||||
|
|
|
@ -130,7 +130,7 @@ function generateCalendar<DateType>(generateConfig: GenerateConfig<DateType>) {
|
||||||
value: toRef(props, 'mode'),
|
value: toRef(props, 'mode'),
|
||||||
});
|
});
|
||||||
|
|
||||||
const panelMode = computed(() => (mergedValue.value === 'year' ? 'month' : 'date'));
|
const panelMode = computed(() => (mergedMode.value === 'year' ? 'month' : 'date'));
|
||||||
|
|
||||||
const mergedDisabledDate = computed(() => {
|
const mergedDisabledDate = computed(() => {
|
||||||
return (date: DateType) => {
|
return (date: DateType) => {
|
||||||
|
@ -158,7 +158,7 @@ function generateCalendar<DateType>(generateConfig: GenerateConfig<DateType>) {
|
||||||
) {
|
) {
|
||||||
triggerPanelChange(date, mergedMode.value);
|
triggerPanelChange(date, mergedMode.value);
|
||||||
}
|
}
|
||||||
|
emit('update:value', date);
|
||||||
emit('change', date);
|
emit('change', date);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -204,7 +204,6 @@ function generateCalendar<DateType>(generateConfig: GenerateConfig<DateType>) {
|
||||||
if (dateFullCellRender) {
|
if (dateFullCellRender) {
|
||||||
return dateFullCellRender({ current: date });
|
return dateFullCellRender({ current: date });
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
class={classNames(
|
class={classNames(
|
||||||
|
@ -251,7 +250,6 @@ function generateCalendar<DateType>(generateConfig: GenerateConfig<DateType>) {
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
{...attrs}
|
{...attrs}
|
||||||
|
|
|
@ -214,7 +214,7 @@ function PickerPanel<DateType>() {
|
||||||
const now = generateConfig.getNow();
|
const now = generateConfig.getNow();
|
||||||
if (!date) return now;
|
if (!date) return now;
|
||||||
// When value is null and set showTime
|
// When value is null and set showTime
|
||||||
if (!mergedValue && props.showTime) {
|
if (!mergedValue.value && props.showTime) {
|
||||||
if (typeof showTime === 'object') {
|
if (typeof showTime === 'object') {
|
||||||
return setDateTime(generateConfig, date, showTime.defaultValue || now);
|
return setDateTime(generateConfig, date, showTime.defaultValue || now);
|
||||||
}
|
}
|
||||||
|
@ -388,6 +388,16 @@ function PickerPanel<DateType>() {
|
||||||
hidePrevBtn: computed(() => inRange.value && panelPosition.value === 'right'),
|
hidePrevBtn: computed(() => inRange.value && panelPosition.value === 'right'),
|
||||||
hideNextBtn: computed(() => inRange.value && panelPosition.value === 'left'),
|
hideNextBtn: computed(() => inRange.value && panelPosition.value === 'left'),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => props.value,
|
||||||
|
() => {
|
||||||
|
if (props.value) {
|
||||||
|
setInnerViewDate(props.value);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
const {
|
const {
|
||||||
prefixCls = 'ant-picker',
|
prefixCls = 'ant-picker',
|
||||||
|
@ -545,7 +555,7 @@ function PickerPanel<DateType>() {
|
||||||
showNow,
|
showNow,
|
||||||
onNow: needConfirmButton.value && onNow,
|
onNow: needConfirmButton.value && onNow,
|
||||||
onOk: () => {
|
onOk: () => {
|
||||||
if (mergedValue) {
|
if (mergedValue.value) {
|
||||||
triggerSelect(mergedValue.value, 'submit', true);
|
triggerSelect(mergedValue.value, 'submit', true);
|
||||||
if (onOk) {
|
if (onOk) {
|
||||||
onOk(mergedValue.value);
|
onOk(mergedValue.value);
|
||||||
|
|
Loading…
Reference in New Issue