airyland / airyland/vux

Datetimerange, which uses two datetime components, is imprecise in the selection of hours.

Offen
#2,766 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.