Skip to content

Commit fcf5a3f

Browse files
author
LKCCY
committed
feat: 增加timepicker 任意时间点选择
1 parent b6df5a2 commit fcf5a3f

File tree

7 files changed

+39
-8
lines changed

7 files changed

+39
-8
lines changed

app/views/test-common/const.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,15 @@ export const schema = [
7373
formItem: { label: '成绩' },
7474
attrs: { 'show-stops': true, step: 10 }
7575
}, {
76-
type: 'timeselect',
76+
type: 'timepicker',
7777
prop: 'sleepTime',
78-
formItem: { label: '晚睡时间' }
78+
formItem: { label: '晚睡时间' },
79+
attrs: {
80+
'picker-options': {
81+
selectableRange: '18:30:00 - 20:30:00'
82+
},
83+
'arrow-control': true
84+
}
7985
}, {
8086
type: 'rate',
8187
prop: 'star',

docs/guide/component/schema.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ cascader| 级联选择器 | [el-cascader](https://element.eleme.cn/#/zh-CN/compo
1818
switch| 开关 | [el-switch](https://element.eleme.cn/#/zh-CN/component/switch)
1919
slider| 滑块 | [el-slider](https://element.eleme.cn/#/zh-CN/component/slider)
2020
datepicker| 日期选择器 | [el-date-picker](https://element.eleme.cn/#/zh-CN/component/date-picker)
21-
timeselect| 时间选择器 | [el-time-select](https://element.eleme.cn/#/zh-CN/component/time-picker)
21+
timeselect| 固定时间 | [el-time-select](https://element.eleme.cn/#/zh-CN/component/time-picker)
22+
timepicker| 任意时间 | [el-time-picker](https://element.eleme.cn/#/zh-CN/component/time-picker)
2223
colorpicker| 颜色选择器 | [el-color-picker](https://element.eleme.cn/#/zh-CN/component/color-picker)
2324
progress| 进度条 | [el-progress](https://element.eleme.cn/#/zh-CN/component/progress)
2425
rate| 评分 | [el-rate](https://element.eleme.cn/#/zh-CN/component/rate)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vueblocks/element-schema-form",
3-
"version": "0.1.3",
3+
"version": "0.1.4",
44
"description": "A schema-based form generator component for Element UI.",
55
"author": "xiaoluoboding <xiaoluoboding@gmail.com>",
66
"scripts": {

src/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import SchemaFormPlaceholder from './packages/components/SchemaFormPlaceholder.v
88
import SchemaFormCheckbox from './packages/components/SchemaFormCheckbox.vue'
99
import SchemaFormSlider from './packages/components/SchemaFormSlider.vue'
1010
import SchemaFormTimeselect from './packages/components/SchemaFormTimeselect.vue'
11+
import SchemaFormTimepicker from './packages/components/SchemaFormTimepicker.vue'
1112
import SchemaFormRate from './packages/components/SchemaFormRate.vue'
1213
import SchemaFormSwitch from './packages/components/SchemaFormSwitch.vue'
1314
import SchemaFormColorpicker from './packages/components/SchemaFormColorpicker.vue'
@@ -34,7 +35,8 @@ const components = [
3435
SchemaFormSwitch,
3536
SchemaFormColorpicker,
3637
SchemaFormTags,
37-
SchemaFormProgress
38+
SchemaFormProgress,
39+
SchemaFormTimepicker
3840
]
3941

4042
function install (Vue, opts = {}) {

src/packages/SchemaForm.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
:options="options"
2020
v-on="$listeners"
2121
>
22-
<slot v-if="col.frontSlot" :name="col.frontSlot" :slot="col.frontSlot"></slot>
23-
<slot v-if="col.rearSlot" :name="col.rearSlot" :slot="col.rearSlot"></slot>
22+
<slot v-if="col.frontSlot" :name="col.frontSlot" :slot="col.frontSlot"></slot>
23+
<slot v-if="col.rearSlot" :name="col.rearSlot" :slot="col.rearSlot"></slot>
2424
</schema-form-item>
2525
</template>
2626
</el-col>

src/packages/SchemaFormItem.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export default {
3333
data () {
3434
return {
3535
builtInNames: ['input', 'select', 'radio', 'datepicker',
36-
'cascader', 'placeholder', 'checkbox', 'slider', 'timeselect', 'jsoneditor', 'quill', 'codemirror',
36+
'cascader', 'placeholder', 'checkbox', 'slider', 'timeselect', 'timepicker', 'jsoneditor', 'quill', 'codemirror',
3737
'rate', 'switch', 'colorpicker', 'tags', 'progress']
3838
}
3939
},
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<template>
2+
<el-time-picker
3+
v-model="bindVal"
4+
v-bind="attrsAll"
5+
v-on="onEvents"
6+
@change="$emit('change', { prop, value: $event })"
7+
>
8+
</el-time-picker>
9+
</template>
10+
11+
<script>
12+
import FormMixin from '../mixins/form-mixin'
13+
14+
export default {
15+
name: 'SchemaFormTimepicker',
16+
mixins: [FormMixin]
17+
}
18+
</script>
19+
20+
<style lang="less" scoped>
21+
22+
</style>

0 commit comments

Comments
 (0)