diff --git a/packages/vant/src/time-picker/README.md b/packages/vant/src/time-picker/README.md
index e46919405..8bf42df00 100644
--- a/packages/vant/src/time-picker/README.md
+++ b/packages/vant/src/time-picker/README.md
@@ -71,6 +71,10 @@ export default {
### Time Range
+You can use props like `min-hour` and `max-hour` to limit the range of hours, `min-minute` and `max-minute` to limit the range of minutes, and `min-second` and `max-second` to limit the range of seconds.
+
+For example, in the following example, users can only select hours between `10` and `20`, and minutes between `30` and `40`.
+
```html
+```
+
+```js
+import { ref } from 'vue';
+
+export default {
+ setup() {
+ const currentTime = ref(['12', '00', '00']);
+ return { currentTime };
+ },
+};
+```
+
### Options Formatter
Using `formatter` prop to format option text.
@@ -159,31 +193,6 @@ export default {
};
```
-### Limit Time Range
-
-Using `min-time` and `max-time` props to limit the time range, Convention format `10:00:00`.
-
-```html
-
-```
-
-```js
-import { ref } from 'vue';
-
-export default {
- setup() {
- const currentTime = ref(['12', '00', '00']);
- return { currentTime };
- },
-};
-```
-
### Advanced Usage
The third parameter of the `filter` function can get the currently selected time, which can be used to filter unwanted times more flexibly when using the uncontrolled mode.
diff --git a/packages/vant/src/time-picker/README.zh-CN.md b/packages/vant/src/time-picker/README.zh-CN.md
index dfde91342..d73fa241f 100644
--- a/packages/vant/src/time-picker/README.zh-CN.md
+++ b/packages/vant/src/time-picker/README.zh-CN.md
@@ -73,6 +73,10 @@ export default {
### 时间范围
+你可以使用 `min-hour` 和 `max-hour` 等属性来限制小时(hour)范围、分钟(minute)范围和秒(second)范围。
+
+比如以下示例,用户可以选择的小时是 `10 ~ 20` ,分钟是 `30 ~ 40`。
+
```html
+```
+
+```js
+import { ref } from 'vue';
+
+export default {
+ setup() {
+ const currentTime = ref(['12', '00', '00']);
+ return { currentTime };
+ },
+};
+```
+
### 格式化选项
通过传入 `formatter` 函数,可以对选项的文字进行格式化。
@@ -160,31 +194,6 @@ export default {
};
```
-### 限制时间范围
-
-使用 `min-time` 和 `max-time` 来限制时间范围,约定格式 `10:00:00`。
-
-```html
-
-```
-
-```js
-import { ref } from 'vue';
-
-export default {
- setup() {
- const currentTime = ref(['12', '00', '00']);
- return { currentTime };
- },
-};
-```
-
### 高级用法
`filter` 函数的第三个参数能获取到当前选择的时间,这在使用非受控模式时,可以更灵活地过滤掉不需要的时间。
@@ -241,8 +250,8 @@ export default {
| max-minute | 可选的最大分钟 | _number \| string_ | `59` |
| min-second | 可选的最小秒数 | _number \| string_ | `0` |
| max-second | 可选的最大秒数 | _number \| string_ | `59` |
-| min-time `v4.5.0` | 可选的最小时间,格式参考 `07:40:00`,使用时 `min-hour` `min-minute` `min-second` 无效 | _string_ | - |
-| max-time `v4.5.0` | 可选的最大时间,格式参考 `10:20:00`,使用时 `max-hour` `max-minute` `max-second` 无效 | _string_ | - |
+| min-time `v4.5.0` | 可选的最小时间,格式参考 `07:40:00`,使用时 `min-hour` `min-minute` `min-second` 不会生效 | _string_ | - |
+| max-time `v4.5.0` | 可选的最大时间,格式参考 `10:20:00`,使用时 `max-hour` `max-minute` `max-second` 不会生效 | _string_ | - |
| title | 顶部栏标题 | _string_ | `''` |
| confirm-button-text | 确认按钮文字 | _string_ | `确认` |
| cancel-button-text | 取消按钮文字 | _string_ | `取消` |
diff --git a/packages/vant/src/time-picker/demo/index.vue b/packages/vant/src/time-picker/demo/index.vue
index 30a669049..609039763 100644
--- a/packages/vant/src/time-picker/demo/index.vue
+++ b/packages/vant/src/time-picker/demo/index.vue
@@ -14,7 +14,7 @@ const t = useTranslate({
columnsType: '选项类型',
optionsFilter: '过滤选项',
optionsFormatter: '格式化选项',
- timeUniteRange: '时分时间范围',
+ overallTimeRange: '整体时间范围',
},
'en-US': {
hour: 'h',
@@ -24,7 +24,7 @@ const t = useTranslate({
columnsType: 'Columns Type',
optionsFilter: 'Options Filter',
optionsFormatter: 'Options Formatter',
- timeUniteRange: 'Hour Minute Range',
+ overallTimeRange: 'Overall Time Range',
},
});
@@ -107,6 +107,16 @@ const formatter = (type: string, option: PickerOption) => {
/>
+
+
+
+
{
/>
-
-
-
-
diff --git a/packages/vant/src/time-picker/test/__snapshots__/demo-ssr.spec.ts.snap b/packages/vant/src/time-picker/test/__snapshots__/demo-ssr.spec.ts.snap
index 033a25774..b0782ea48 100644
--- a/packages/vant/src/time-picker/test/__snapshots__/demo-ssr.spec.ts.snap
+++ b/packages/vant/src/time-picker/test/__snapshots__/demo-ssr.spec.ts.snap
@@ -2406,1130 +2406,6 @@ exports[`should render demo and match snapshot 1`] = `
-
-
-
-
-
-
-
-
-
- -
-
- 00h
-
-
- -
-
- 01h
-
-
- -
-
- 02h
-
-
- -
-
- 03h
-
-
- -
-
- 04h
-
-
- -
-
- 05h
-
-
- -
-
- 06h
-
-
- -
-
- 07h
-
-
- -
-
- 08h
-
-
- -
-
- 09h
-
-
- -
-
- 10h
-
-
- -
-
- 11h
-
-
- -
-
- 12h
-
-
- -
-
- 13h
-
-
- -
-
- 14h
-
-
- -
-
- 15h
-
-
- -
-
- 16h
-
-
- -
-
- 17h
-
-
- -
-
- 18h
-
-
- -
-
- 19h
-
-
- -
-
- 20h
-
-
- -
-
- 21h
-
-
- -
-
- 22h
-
-
- -
-
- 23h
-
-
-
-
-
-
-
- -
-
- 00m
-
-
- -
-
- 01m
-
-
- -
-
- 02m
-
-
- -
-
- 03m
-
-
- -
-
- 04m
-
-
- -
-
- 05m
-
-
- -
-
- 06m
-
-
- -
-
- 07m
-
-
- -
-
- 08m
-
-
- -
-
- 09m
-
-
- -
-
- 10m
-
-
- -
-
- 11m
-
-
- -
-
- 12m
-
-
- -
-
- 13m
-
-
- -
-
- 14m
-
-
- -
-
- 15m
-
-
- -
-
- 16m
-
-
- -
-
- 17m
-
-
- -
-
- 18m
-
-
- -
-
- 19m
-
-
- -
-
- 20m
-
-
- -
-
- 21m
-
-
- -
-
- 22m
-
-
- -
-
- 23m
-
-
- -
-
- 24m
-
-
- -
-
- 25m
-
-
- -
-
- 26m
-
-
- -
-
- 27m
-
-
- -
-
- 28m
-
-
- -
-
- 29m
-
-
- -
-
- 30m
-
-
- -
-
- 31m
-
-
- -
-
- 32m
-
-
- -
-
- 33m
-
-
- -
-
- 34m
-
-
- -
-
- 35m
-
-
- -
-
- 36m
-
-
- -
-
- 37m
-
-
- -
-
- 38m
-
-
- -
-
- 39m
-
-
- -
-
- 40m
-
-
- -
-
- 41m
-
-
- -
-
- 42m
-
-
- -
-
- 43m
-
-
- -
-
- 44m
-
-
- -
-
- 45m
-
-
- -
-
- 46m
-
-
- -
-
- 47m
-
-
- -
-
- 48m
-
-
- -
-
- 49m
-
-
- -
-
- 50m
-
-
- -
-
- 51m
-
-
- -
-
- 52m
-
-
- -
-
- 53m
-
-
- -
-
- 54m
-
-
- -
-
- 55m
-
-
- -
-
- 56m
-
-
- -
-
- 57m
-
-
- -
-
- 58m
-
-
- -
-
- 59m
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- 00
-
-
- -
-
- 01
-
-
- -
-
- 02
-
-
- -
-
- 03
-
-
- -
-
- 04
-
-
- -
-
- 05
-
-
- -
-
- 06
-
-
- -
-
- 07
-
-
- -
-
- 08
-
-
- -
-
- 09
-
-
- -
-
- 10
-
-
- -
-
- 11
-
-
- -
-
- 12
-
-
- -
-
- 13
-
-
- -
-
- 14
-
-
- -
-
- 15
-
-
- -
-
- 16
-
-
- -
-
- 17
-
-
- -
-
- 18
-
-
- -
-
- 19
-
-
- -
-
- 20
-
-
- -
-
- 21
-
-
- -
-
- 22
-
-
- -
-
- 23
-
-
-
-
-
-
-
- -
-
- 00
-
-
- -
-
- 10
-
-
- -
-
- 20
-
-
- -
-
- 30
-
-
- -
-
- 40
-
-
- -
-
- 50
-
-
-
-
-
-
-
-
-
-
-
-
@@ -4774,6 +3650,1130 @@ exports[`should render demo and match snapshot 1`] = `
+
+
+
+
+
+
+
+
+
+ -
+
+ 00h
+
+
+ -
+
+ 01h
+
+
+ -
+
+ 02h
+
+
+ -
+
+ 03h
+
+
+ -
+
+ 04h
+
+
+ -
+
+ 05h
+
+
+ -
+
+ 06h
+
+
+ -
+
+ 07h
+
+
+ -
+
+ 08h
+
+
+ -
+
+ 09h
+
+
+ -
+
+ 10h
+
+
+ -
+
+ 11h
+
+
+ -
+
+ 12h
+
+
+ -
+
+ 13h
+
+
+ -
+
+ 14h
+
+
+ -
+
+ 15h
+
+
+ -
+
+ 16h
+
+
+ -
+
+ 17h
+
+
+ -
+
+ 18h
+
+
+ -
+
+ 19h
+
+
+ -
+
+ 20h
+
+
+ -
+
+ 21h
+
+
+ -
+
+ 22h
+
+
+ -
+
+ 23h
+
+
+
+
+
+
+
+ -
+
+ 00m
+
+
+ -
+
+ 01m
+
+
+ -
+
+ 02m
+
+
+ -
+
+ 03m
+
+
+ -
+
+ 04m
+
+
+ -
+
+ 05m
+
+
+ -
+
+ 06m
+
+
+ -
+
+ 07m
+
+
+ -
+
+ 08m
+
+
+ -
+
+ 09m
+
+
+ -
+
+ 10m
+
+
+ -
+
+ 11m
+
+
+ -
+
+ 12m
+
+
+ -
+
+ 13m
+
+
+ -
+
+ 14m
+
+
+ -
+
+ 15m
+
+
+ -
+
+ 16m
+
+
+ -
+
+ 17m
+
+
+ -
+
+ 18m
+
+
+ -
+
+ 19m
+
+
+ -
+
+ 20m
+
+
+ -
+
+ 21m
+
+
+ -
+
+ 22m
+
+
+ -
+
+ 23m
+
+
+ -
+
+ 24m
+
+
+ -
+
+ 25m
+
+
+ -
+
+ 26m
+
+
+ -
+
+ 27m
+
+
+ -
+
+ 28m
+
+
+ -
+
+ 29m
+
+
+ -
+
+ 30m
+
+
+ -
+
+ 31m
+
+
+ -
+
+ 32m
+
+
+ -
+
+ 33m
+
+
+ -
+
+ 34m
+
+
+ -
+
+ 35m
+
+
+ -
+
+ 36m
+
+
+ -
+
+ 37m
+
+
+ -
+
+ 38m
+
+
+ -
+
+ 39m
+
+
+ -
+
+ 40m
+
+
+ -
+
+ 41m
+
+
+ -
+
+ 42m
+
+
+ -
+
+ 43m
+
+
+ -
+
+ 44m
+
+
+ -
+
+ 45m
+
+
+ -
+
+ 46m
+
+
+ -
+
+ 47m
+
+
+ -
+
+ 48m
+
+
+ -
+
+ 49m
+
+
+ -
+
+ 50m
+
+
+ -
+
+ 51m
+
+
+ -
+
+ 52m
+
+
+ -
+
+ 53m
+
+
+ -
+
+ 54m
+
+
+ -
+
+ 55m
+
+
+ -
+
+ 56m
+
+
+ -
+
+ 57m
+
+
+ -
+
+ 58m
+
+
+ -
+
+ 59m
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+ 00
+
+
+ -
+
+ 01
+
+
+ -
+
+ 02
+
+
+ -
+
+ 03
+
+
+ -
+
+ 04
+
+
+ -
+
+ 05
+
+
+ -
+
+ 06
+
+
+ -
+
+ 07
+
+
+ -
+
+ 08
+
+
+ -
+
+ 09
+
+
+ -
+
+ 10
+
+
+ -
+
+ 11
+
+
+ -
+
+ 12
+
+
+ -
+
+ 13
+
+
+ -
+
+ 14
+
+
+ -
+
+ 15
+
+
+ -
+
+ 16
+
+
+ -
+
+ 17
+
+
+ -
+
+ 18
+
+
+ -
+
+ 19
+
+
+ -
+
+ 20
+
+
+ -
+
+ 21
+
+
+ -
+
+ 22
+
+
+ -
+
+ 23
+
+
+
+
+
+
+
+ -
+
+ 00
+
+
+ -
+
+ 10
+
+
+ -
+
+ 20
+
+
+ -
+
+ 30
+
+
+ -
+
+ 40
+
+
+ -
+
+ 50
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/vant/src/time-picker/test/__snapshots__/demo.spec.ts.snap b/packages/vant/src/time-picker/test/__snapshots__/demo.spec.ts.snap
index 17bcb2362..ae407fcb4 100644
--- a/packages/vant/src/time-picker/test/__snapshots__/demo.spec.ts.snap
+++ b/packages/vant/src/time-picker/test/__snapshots__/demo.spec.ts.snap
@@ -2386,1118 +2386,6 @@ exports[`should render demo and match snapshot 1`] = `
-
-
-
-
-
-
- -
-
- 00h
-
-
- -
-
- 01h
-
-
- -
-
- 02h
-
-
- -
-
- 03h
-
-
- -
-
- 04h
-
-
- -
-
- 05h
-
-
- -
-
- 06h
-
-
- -
-
- 07h
-
-
- -
-
- 08h
-
-
- -
-
- 09h
-
-
- -
-
- 10h
-
-
- -
-
- 11h
-
-
- -
-
- 12h
-
-
- -
-
- 13h
-
-
- -
-
- 14h
-
-
- -
-
- 15h
-
-
- -
-
- 16h
-
-
- -
-
- 17h
-
-
- -
-
- 18h
-
-
- -
-
- 19h
-
-
- -
-
- 20h
-
-
- -
-
- 21h
-
-
- -
-
- 22h
-
-
- -
-
- 23h
-
-
-
-
-
-
- -
-
- 00m
-
-
- -
-
- 01m
-
-
- -
-
- 02m
-
-
- -
-
- 03m
-
-
- -
-
- 04m
-
-
- -
-
- 05m
-
-
- -
-
- 06m
-
-
- -
-
- 07m
-
-
- -
-
- 08m
-
-
- -
-
- 09m
-
-
- -
-
- 10m
-
-
- -
-
- 11m
-
-
- -
-
- 12m
-
-
- -
-
- 13m
-
-
- -
-
- 14m
-
-
- -
-
- 15m
-
-
- -
-
- 16m
-
-
- -
-
- 17m
-
-
- -
-
- 18m
-
-
- -
-
- 19m
-
-
- -
-
- 20m
-
-
- -
-
- 21m
-
-
- -
-
- 22m
-
-
- -
-
- 23m
-
-
- -
-
- 24m
-
-
- -
-
- 25m
-
-
- -
-
- 26m
-
-
- -
-
- 27m
-
-
- -
-
- 28m
-
-
- -
-
- 29m
-
-
- -
-
- 30m
-
-
- -
-
- 31m
-
-
- -
-
- 32m
-
-
- -
-
- 33m
-
-
- -
-
- 34m
-
-
- -
-
- 35m
-
-
- -
-
- 36m
-
-
- -
-
- 37m
-
-
- -
-
- 38m
-
-
- -
-
- 39m
-
-
- -
-
- 40m
-
-
- -
-
- 41m
-
-
- -
-
- 42m
-
-
- -
-
- 43m
-
-
- -
-
- 44m
-
-
- -
-
- 45m
-
-
- -
-
- 46m
-
-
- -
-
- 47m
-
-
- -
-
- 48m
-
-
- -
-
- 49m
-
-
- -
-
- 50m
-
-
- -
-
- 51m
-
-
- -
-
- 52m
-
-
- -
-
- 53m
-
-
- -
-
- 54m
-
-
- -
-
- 55m
-
-
- -
-
- 56m
-
-
- -
-
- 57m
-
-
- -
-
- 58m
-
-
- -
-
- 59m
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- 00
-
-
- -
-
- 01
-
-
- -
-
- 02
-
-
- -
-
- 03
-
-
- -
-
- 04
-
-
- -
-
- 05
-
-
- -
-
- 06
-
-
- -
-
- 07
-
-
- -
-
- 08
-
-
- -
-
- 09
-
-
- -
-
- 10
-
-
- -
-
- 11
-
-
- -
-
- 12
-
-
- -
-
- 13
-
-
- -
-
- 14
-
-
- -
-
- 15
-
-
- -
-
- 16
-
-
- -
-
- 17
-
-
- -
-
- 18
-
-
- -
-
- 19
-
-
- -
-
- 20
-
-
- -
-
- 21
-
-
- -
-
- 22
-
-
- -
-
- 23
-
-
-
-
-
-
- -
-
- 00
-
-
- -
-
- 10
-
-
- -
-
- 20
-
-
- -
-
- 30
-
-
- -
-
- 40
-
-
- -
-
- 50
-
-
-
-
-
-
-
-
-
-
-
@@ -4735,6 +3623,1118 @@ exports[`should render demo and match snapshot 1`] = `
+
+
+
+
+
+
+ -
+
+ 00h
+
+
+ -
+
+ 01h
+
+
+ -
+
+ 02h
+
+
+ -
+
+ 03h
+
+
+ -
+
+ 04h
+
+
+ -
+
+ 05h
+
+
+ -
+
+ 06h
+
+
+ -
+
+ 07h
+
+
+ -
+
+ 08h
+
+
+ -
+
+ 09h
+
+
+ -
+
+ 10h
+
+
+ -
+
+ 11h
+
+
+ -
+
+ 12h
+
+
+ -
+
+ 13h
+
+
+ -
+
+ 14h
+
+
+ -
+
+ 15h
+
+
+ -
+
+ 16h
+
+
+ -
+
+ 17h
+
+
+ -
+
+ 18h
+
+
+ -
+
+ 19h
+
+
+ -
+
+ 20h
+
+
+ -
+
+ 21h
+
+
+ -
+
+ 22h
+
+
+ -
+
+ 23h
+
+
+
+
+
+
+ -
+
+ 00m
+
+
+ -
+
+ 01m
+
+
+ -
+
+ 02m
+
+
+ -
+
+ 03m
+
+
+ -
+
+ 04m
+
+
+ -
+
+ 05m
+
+
+ -
+
+ 06m
+
+
+ -
+
+ 07m
+
+
+ -
+
+ 08m
+
+
+ -
+
+ 09m
+
+
+ -
+
+ 10m
+
+
+ -
+
+ 11m
+
+
+ -
+
+ 12m
+
+
+ -
+
+ 13m
+
+
+ -
+
+ 14m
+
+
+ -
+
+ 15m
+
+
+ -
+
+ 16m
+
+
+ -
+
+ 17m
+
+
+ -
+
+ 18m
+
+
+ -
+
+ 19m
+
+
+ -
+
+ 20m
+
+
+ -
+
+ 21m
+
+
+ -
+
+ 22m
+
+
+ -
+
+ 23m
+
+
+ -
+
+ 24m
+
+
+ -
+
+ 25m
+
+
+ -
+
+ 26m
+
+
+ -
+
+ 27m
+
+
+ -
+
+ 28m
+
+
+ -
+
+ 29m
+
+
+ -
+
+ 30m
+
+
+ -
+
+ 31m
+
+
+ -
+
+ 32m
+
+
+ -
+
+ 33m
+
+
+ -
+
+ 34m
+
+
+ -
+
+ 35m
+
+
+ -
+
+ 36m
+
+
+ -
+
+ 37m
+
+
+ -
+
+ 38m
+
+
+ -
+
+ 39m
+
+
+ -
+
+ 40m
+
+
+ -
+
+ 41m
+
+
+ -
+
+ 42m
+
+
+ -
+
+ 43m
+
+
+ -
+
+ 44m
+
+
+ -
+
+ 45m
+
+
+ -
+
+ 46m
+
+
+ -
+
+ 47m
+
+
+ -
+
+ 48m
+
+
+ -
+
+ 49m
+
+
+ -
+
+ 50m
+
+
+ -
+
+ 51m
+
+
+ -
+
+ 52m
+
+
+ -
+
+ 53m
+
+
+ -
+
+ 54m
+
+
+ -
+
+ 55m
+
+
+ -
+
+ 56m
+
+
+ -
+
+ 57m
+
+
+ -
+
+ 58m
+
+
+ -
+
+ 59m
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+ 00
+
+
+ -
+
+ 01
+
+
+ -
+
+ 02
+
+
+ -
+
+ 03
+
+
+ -
+
+ 04
+
+
+ -
+
+ 05
+
+
+ -
+
+ 06
+
+
+ -
+
+ 07
+
+
+ -
+
+ 08
+
+
+ -
+
+ 09
+
+
+ -
+
+ 10
+
+
+ -
+
+ 11
+
+
+ -
+
+ 12
+
+
+ -
+
+ 13
+
+
+ -
+
+ 14
+
+
+ -
+
+ 15
+
+
+ -
+
+ 16
+
+
+ -
+
+ 17
+
+
+ -
+
+ 18
+
+
+ -
+
+ 19
+
+
+ -
+
+ 20
+
+
+ -
+
+ 21
+
+
+ -
+
+ 22
+
+
+ -
+
+ 23
+
+
+
+
+
+
+ -
+
+ 00
+
+
+ -
+
+ 10
+
+
+ -
+
+ 20
+
+
+ -
+
+ 30
+
+
+ -
+
+ 40
+
+
+ -
+
+ 50
+
+
+
+
+
+
+
+
+
+
+