diff --git a/src/platforms/h5/components/app/popup/picker.vue b/src/platforms/h5/components/app/popup/picker.vue index 358b78fb37e2878b4860ad8f199cfba87423eefc..7dc62e313c160a3f0d971954a97491dde9874876 100644 --- a/src/platforms/h5/components/app/popup/picker.vue +++ b/src/platforms/h5/components/app/popup/picker.vue @@ -190,6 +190,16 @@ export default { let valueArray = this.valueArray let startArray = this.startArray let endArray = this.endArray + if (this.mode === mode.DATE) { + const dateArray = this.dateArray + let max = dateArray[2].length + let day = dateArray[2][valueArray[2]] + let realDay = new Date(`${dateArray[0][valueArray[0]]}/${dateArray[1][valueArray[1]]}/${day}`).getDate() + day = Number(day) + if (realDay < day) { + valueArray[2] -= realDay + max - day + } + } if (getValue(valueArray) < getValue(startArray)) { this._cloneArray(valueArray, startArray) } else if (getValue(valueArray) > getValue(endArray)) {