浏览代码

增加TimeRangePicker时间区间范围选择组件 (#2926)

* feat: 增加TimeRangePicker时间范围选择组件

* feat: 增加TimeRangePicker时间范围选择组件2
沐枫 1 年之前
父节点
当前提交
c28224f3f8
共有 3 个文件被更改,包括 22 次插入1 次删除
  1. 1 0
      src/components/Form/src/componentMap.ts
  2. 1 0
      src/components/Form/src/types/index.ts
  3. 20 1
      src/views/demo/form/index.vue

+ 1 - 0
src/components/Form/src/componentMap.ts

@@ -65,6 +65,7 @@ componentMap.set('MonthPicker', DatePicker.MonthPicker);
 componentMap.set('RangePicker', DatePicker.RangePicker);
 componentMap.set('WeekPicker', DatePicker.WeekPicker);
 componentMap.set('TimePicker', TimePicker);
+componentMap.set('TimeRangePicker', TimePicker.TimeRangePicker);
 componentMap.set('StrengthMeter', StrengthMeter);
 componentMap.set('IconPicker', IconPicker);
 componentMap.set('InputCountDown', CountdownInput);

+ 1 - 0
src/components/Form/src/types/index.ts

@@ -106,6 +106,7 @@ export type ComponentType =
   | 'RangePicker'
   | 'WeekPicker'
   | 'TimePicker'
+  | 'TimeRangePicker'
   | 'Switch'
   | 'StrengthMeter'
   | 'Upload'

+ 20 - 1
src/views/demo/form/index.vue

@@ -56,6 +56,7 @@
   </PageWrapper>
 </template>
 <script lang="ts">
+  import { type Recordable } from '@vben/types';
   import { computed, defineComponent, unref, ref } from 'vue';
   import { BasicForm, FormSchema, ApiSelect } from '/@/components/Form/index';
   import { CollapseContainer } from '/@/components/Container';
@@ -624,10 +625,28 @@
     {
       field: '[startTime, endTime]',
       label: '时间范围',
+      component: 'TimeRangePicker',
+      componentProps: {
+        format: 'HH:mm:ss',
+        placeholder: ['开始时间', '结束时间'],
+      },
+    },
+    {
+      field: '[startDate, endDate]',
+      label: '日期范围',
+      component: 'RangePicker',
+      componentProps: {
+        format: 'YYYY-MM-DD',
+        placeholder: ['开始日期', '结束日期'],
+      },
+    },
+    {
+      field: '[startDateTime, endDateTime]',
+      label: '日期时间范围',
       component: 'RangePicker',
       componentProps: {
         format: 'YYYY-MM-DD HH:mm:ss',
-        placeholder: ['开始时间', '结束时间'],
+        placeholder: ['开始日期、时间', '结束日期、时间'],
         showTime: { format: 'HH:mm:ss' },
       },
     },