Datetimerange, which uses two datetime components, is imprecise in the selection of hours.
- Vorherrschende Sprache
- Vue
- Sterne
- 17.5k
- Forks
- 3.6k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
```
html:
js:
computeStartHoursFunction (date, isToday, generateRange) {
console.log('computeStartHoursFunction' + date);
if (this.endTime) {
let endDate = this.endTime.split(' ')[0];
let endTime = parseInt(this.endTime.split(' ')[1], 10) - 1;
if (isToday && this.dateFormat(new Date(date)) !== endDate) {
return generateRange(new Date().getHours(), 23);
} else if (isToday && this.dateFormat(new Date(date)) === endDate) {
return generateRange(new Date().getHours(), endTime);
} else if (this.dateFormat(new Date(date)) === endDate) {
return generateRange(0, endTime);
} else {
return generateRange(0, 23);
}
} else {
if (isToday) {
return generateRange(new Date().getHours(), 23);
} else if (this.dateFormat(new Date(date)) === this.startMaxTime) {
return generateRange(0, new Date().getHours() - 1);
} else {
return generateRange(0, 23);
}
}
},
computeEndHoursFunction (date, isToday, generateRange) {
console.log('computeEndHoursFunction' + date);
if (this.startTime) {
let startDate = this.startTime.split(' ')[0];
let startTime = parseInt(this.startTime.split(' ')[1], 10) + 1;
if (isToday && startDate === this.endMaxTime) {
return generateRange(startTime, new Date().getHours());
} else if (this.dateFormat(new Date(date)) === startDate) {
return generateRange(startTime, 23);
} else if (this.dateFormat(new Date(date)) === this.endMaxTime) {
return generateRange(0, new Date().getHours());
} else {
return generateRange(0, 23);
}
} else {
if (isToday) {
return generateRange(new Date().getHours() + 1, 23);
} else if (this.dateFormat(new Date(date)) === this.endMaxTime) {
return generateRange(0, new Date().getHours());
} else {
return generateRange(0, 23);
}
}
},
```
Steps to reproduce
- 需求:时间范围可以选择当天在内未来30天的日期和整点时刻,开始时间不可早于结束时间
- 1.现在时间是2018-05-18 9时,那么现在两个组件都可以选择未来30天的日期和整点时间。
- 2.如果结束时间我选择尽可能小的时间,比如2018-05-18 10时(预留一个小时,留给开始时间选择),那么开始时间的选择就只有一个时间点了2018-05-18 9时。事实也是如此,在点开开始时间组件时,触发了compute-hours-function方法。
- 3.在2的基础上,我重新选择结束时间为2018-05-18 12时(日期不变,只改变小时数),那么开始时间组件的选择范围预期应该在2018-05-18 9时到11时,但是实际上开始时间组件的选择还是只有一个时间点2018-05-18 9时可以选择,并且点开开始时间组件未触发compute-hours-function方法。
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.