mirror of https://github.com/ElemeFE/element
parent
e181fec748
commit
9bb51a1267
|
@ -161,6 +161,7 @@ Can pick an arbitrary time range.
|
||||||
| end | end time | string | — | 18:00 |
|
| end | end time | string | — | 18:00 |
|
||||||
| step | time step | string | — | 00:30 |
|
| step | time step | string | — | 00:30 |
|
||||||
| minTime | minimum time, any time before this time will be disabled | string | — | 00:00 |
|
| 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 | — | - |
|
||||||
|
|
||||||
### Time Picker Options
|
### Time Picker Options
|
||||||
| Attribute | Description | Type | Accepted Values | Default |
|
| Attribute | Description | Type | Accepted Values | Default |
|
||||||
|
|
|
@ -168,6 +168,7 @@
|
||||||
| end | 结束时间 | string | — | 18:00 |
|
| end | 结束时间 | string | — | 18:00 |
|
||||||
| step | 间隔时间 | string | — | 00:30 |
|
| step | 间隔时间 | string | — | 00:30 |
|
||||||
| minTime | 最小时间,小于该时间的时间段将被禁用 | string | — | 00:00 |
|
| minTime | 最小时间,小于该时间的时间段将被禁用 | string | — | 00:00 |
|
||||||
|
| maxTime | 最大时间,大于该时间的时间段将被禁用 | string | — | - |
|
||||||
|
|
||||||
### Time Picker Options
|
### Time Picker Options
|
||||||
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
||||||
|
|
|
@ -70,8 +70,11 @@
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
watch: {
|
watch: {
|
||||||
minTime(val) {
|
value(val) {
|
||||||
if (this.value && val && compareTime(this.value, val) === -1) {
|
if (!val) return;
|
||||||
|
if (this.minTime && compareTime(val, this.minTime) < 0) {
|
||||||
|
this.$emit('pick');
|
||||||
|
} else if (this.maxTime && compareTime(val, this.maxTime) > 0) {
|
||||||
this.$emit('pick');
|
this.$emit('pick');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -98,6 +101,7 @@
|
||||||
value: '',
|
value: '',
|
||||||
visible: false,
|
visible: false,
|
||||||
minTime: '',
|
minTime: '',
|
||||||
|
maxTime: '',
|
||||||
width: 0
|
width: 0
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -115,7 +119,8 @@
|
||||||
while (compareTime(current, end) <= 0) {
|
while (compareTime(current, end) <= 0) {
|
||||||
result.push({
|
result.push({
|
||||||
value: current,
|
value: current,
|
||||||
disabled: compareTime(current, this.minTime || '-1:-1') <= 0
|
disabled: compareTime(current, this.minTime || '-1:-1') <= 0 ||
|
||||||
|
compareTime(current, this.maxTime || '100:100') > 0
|
||||||
});
|
});
|
||||||
current = nextTime(current, step);
|
current = nextTime(current, step);
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,4 +140,62 @@ describe('TimeSelect', () => {
|
||||||
}, 50);
|
}, 50);
|
||||||
}, 50);
|
}, 50);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('set maxTime', done => {
|
||||||
|
vm = createVue(`
|
||||||
|
<el-time-select
|
||||||
|
ref="picker"
|
||||||
|
:picker-options="{
|
||||||
|
maxTime: '14:30',
|
||||||
|
step: '00:30'
|
||||||
|
}">
|
||||||
|
</el-time-select>
|
||||||
|
`, true);
|
||||||
|
const input = vm.$el.querySelector('input');
|
||||||
|
const picker = vm.$refs.picker;
|
||||||
|
|
||||||
|
input.focus();
|
||||||
|
input.blur();
|
||||||
|
|
||||||
|
setTimeout(_ => {
|
||||||
|
const elm = picker.picker.$el.querySelector('.disabled');
|
||||||
|
|
||||||
|
expect(elm.textContent).to.equal('15:00');
|
||||||
|
destroyVM(vm);
|
||||||
|
done();
|
||||||
|
}, 50);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('maxTime > value', done => {
|
||||||
|
vm = createVue({
|
||||||
|
template: `
|
||||||
|
<el-time-select
|
||||||
|
ref="picker"
|
||||||
|
v-model="value"
|
||||||
|
:picker-options="{
|
||||||
|
maxTime: '14:30'
|
||||||
|
}">
|
||||||
|
</el-time-select>
|
||||||
|
`,
|
||||||
|
data() {
|
||||||
|
return { value: '09:30' };
|
||||||
|
}
|
||||||
|
}, true);
|
||||||
|
const input = vm.$el.querySelector('input');
|
||||||
|
const picker = vm.$refs.picker;
|
||||||
|
|
||||||
|
input.focus();
|
||||||
|
input.blur();
|
||||||
|
|
||||||
|
setTimeout(_ => {
|
||||||
|
vm.value = '10:30';
|
||||||
|
|
||||||
|
setTimeout(_ => {
|
||||||
|
expect(picker.picker.value).to.equal('09:30');
|
||||||
|
destroyVM(vm);
|
||||||
|
done();
|
||||||
|
}, 50);
|
||||||
|
}, 50);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue