element-plus/website/docs/en-US/time-select.md
Enguerrand des Vaux b5ed49ae93
feat/TimeSelect (#329)
* feat(time-select): start of migration

* feat(time-select): fix typo

* feat(time-select): minor change

* feat(time-select): working Vue.js 2 time-select

* feat(time-select): migration to v3

* feat(time-select): add select element

* feat(time-select): migrate v-model

* feat(time-select): add type definition

* feat(time-select): add default value for minTime

* feat(time-select): fix documentation

* feat(time-select): export select to use it

* feat(time-select): fix form

* feat(time-select): export time-select to see it in the website

* feat(time-select): fix updateOptions methods

* fix(popper): re-create popper if destroyed when updating

* fix(select): fix options query event

* fix(select): fix checkDefaultFirstOption function

* feat(time-select): add update:modelValue to emit function

* fix(select): better naming

* feat(time-select): deprecated defautl value

* feat(select): support clear icon

* feat(select): add clear-icon documetnation
2020-10-04 19:57:49 +08:00

108 lines
2.9 KiB
Markdown

## TimeSelect
Use Time Select for time input.
### Fixed time picker
Provide a list of fixed time for users to choose.
:::demo Use `el-time-select` label, then assign start time, end time and time step with `start`, `end` and `step`.
```html
<el-time-select
v-model="value"
:picker-options="{
start: '08:30',
step: '00:15',
end: '18:30'
}"
placeholder="Select time">
</el-time-select>
<script>
export default {
data() {
return {
value: ''
};
}
}
</script>
```
:::
### Fixed time range
If start time is picked at first, then the end time will change accordingly.
:::demo
```html
<template>
<el-time-select
placeholder="Start time"
v-model="startTime"
:picker-options="{
start: '08:30',
step: '00:15',
end: '18:30'
}">
</el-time-select>
<el-time-select
placeholder="End time"
v-model="endTime"
:picker-options="{
start: '08:30',
step: '00:15',
end: '18:30',
minTime: startTime
}">
</el-time-select>
</template>
<script>
export default {
data() {
return {
startTime: '',
endTime: ''
};
}
}
</script>
```
:::
### Attributes
| Attribute | Description | Type | Accepted Values | Default |
|---------- |-------------- |---------- |-------------------------------- |-------- |
| value / v-model | binding value | date(TimePicker) / string(TimeSelect) | - | - |
| editable | whether the input is editable | boolean | — | true |
| clearable | whether to show clear button | boolean | — | true |
| size | size of Input | string | medium / small / mini | — |
| placeholder | placeholder in non-range mode | string | — | — |
| picker-options | additional options, check the table below | object | — | {} |
| name | same as `name` in native input | string | — | — |
| prefix-icon | Custom prefix icon class | string | — | el-icon-time |
| clear-icon | Custom clear icon class | string | — | el-icon-circle-close |
### Time Select Options
| Attribute | Description | Type | Accepted Values | Default |
|---------- |-------------- |---------- |-------------------------------- |-------- |
| start | start time | string | — | 09:00 |
| end | end time | string | — | 18:00 |
| step | time step | string | — | 00:30 |
| minTime | minimum time, any time before this time will be disabled | string | — | 00:00 |
| maxTime | maximum time, any time after this time will be disabled | string | — | — |
### Events
| Event Name | Description | Parameters |
|---------|--------|---------|
| change | triggers when user confirms the value | component's binding value |
| blur | triggers when Input blurs | component instance |
| focus | triggers when Input focuses | component instance |
### Methods
| Method | Description | Parameters |
| ---- | ---- | ---- |
| focus | focus the Input component | - |
| blur | blur the Input component | - |