From e753238ec6a816ebc6984d1b16ec0a6908ddbec7 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 31 十二月 2025 17:48:19 +0800
Subject: [PATCH] fix: bug
---
packages/components/src/Input/ChooseInputWithDatePicker.vue | 28 ++++++++++++++++++++++++----
1 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/packages/components/src/Input/ChooseInputWithDatePicker.vue b/packages/components/src/Input/ChooseInputWithDatePicker.vue
index a40694d..f5b69c2 100644
--- a/packages/components/src/Input/ChooseInputWithDatePicker.vue
+++ b/packages/components/src/Input/ChooseInputWithDatePicker.vue
@@ -15,16 +15,23 @@
type Props = {
modelValue: string | number;
+ minDate?: Date;
+ maxDate?: Date;
+ type?: string;
+ format?: string;
};
-const props = withDefaults(defineProps<Props>(), {});
+const props = withDefaults(defineProps<Props>(), {
+ format: 'YYYY-MM-DD',
+});
const emit = defineEmits<{
(e: 'update:modelValue', val: string | number): void;
+ (e: 'change'): void;
}>();
function handleOpen() {
- const _modelValue = [props.modelValue];
+ const _modelValue = dayjs(props.modelValue).toDate();
Portal.add((key) => {
return h(
Portal.Container,
@@ -43,11 +50,24 @@
h(DatePicker, {
modelValue: _modelValue,
onCancel: onClose,
+ type: props.type,
+ maxDate: props.maxDate,
onConfirm: ({ selectedValue }) => {
- console.log('selectedValue: ', selectedValue);
- emit('update:modelValue', dayjs(selectedValue).format('YYYY-MM-DD'));
+ let _selectedVale = '';
+ if (selectedValue.length > 3) {
+ _selectedVale = `${selectedValue.slice(0, 3).join('-')} ${selectedValue
+ .slice(3)
+ .join(':')}`;
+ } else {
+ _selectedVale = selectedValue.join('-');
+ }
+ emit('update:modelValue', dayjs(_selectedVale).format(props.format));
onClose();
},
+ onChange: () => {
+ emit('change');
+ },
+ minDate: props.minDate,
}),
}
),
--
Gitblit v1.10.0