优化datepicker的数据通讯
parent
89ab045575
commit
efbd5dd1d6
|
@ -434,6 +434,58 @@ export default class DatePicker {
|
||||||
}, 1500)
|
}, 1500)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 修正日历日期渲染
|
||||||
|
_fixedRenderDate() {
|
||||||
|
var { max, min, last } = this.props
|
||||||
|
|
||||||
|
if (!last) {
|
||||||
|
this._updateValue(today)
|
||||||
|
last = this.props.last
|
||||||
|
}
|
||||||
|
if (max) {
|
||||||
|
if (last.year > max.year) {
|
||||||
|
last.year = max.year
|
||||||
|
last.month = max.month
|
||||||
|
last.day = max.day
|
||||||
|
} else if (max.year === last.year) {
|
||||||
|
if (last.month > max.month) {
|
||||||
|
last.month = max.month
|
||||||
|
} else if (last.month === max.month) {
|
||||||
|
if (last.day > max.day) {
|
||||||
|
last.day = max.day
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (min) {
|
||||||
|
if (last.year < min.year) {
|
||||||
|
last.year = min.year
|
||||||
|
last.month = min.month
|
||||||
|
last.day = min.day
|
||||||
|
} else if (last.year === min.year) {
|
||||||
|
if (last.month < min.month) {
|
||||||
|
last.month = min.month
|
||||||
|
} else if (last.month === min.month) {
|
||||||
|
if (last.day < max.day) {
|
||||||
|
last.day = min.day
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var _date = new Date(last.year, last.month, last.day)
|
||||||
|
this.props.calendar = {
|
||||||
|
year: _date.getFullYear(),
|
||||||
|
month: _date.getMonth(),
|
||||||
|
list: []
|
||||||
|
}
|
||||||
|
|
||||||
|
this._updateValue(_date)
|
||||||
|
this._renderCalendar()
|
||||||
|
|
||||||
|
return _date
|
||||||
|
}
|
||||||
|
|
||||||
_updateValue(oDate, needUpdateStyle) {
|
_updateValue(oDate, needUpdateStyle) {
|
||||||
this.props.last = {
|
this.props.last = {
|
||||||
year: oDate.getFullYear(),
|
year: oDate.getFullYear(),
|
||||||
|
@ -485,13 +537,7 @@ export default class DatePicker {
|
||||||
this.__INPUT__.setAttribute('label', '')
|
this.__INPUT__.setAttribute('label', '')
|
||||||
}
|
}
|
||||||
|
|
||||||
this.props.calendar = {
|
this._fixedRenderDate()
|
||||||
year: today.getFullYear(),
|
|
||||||
month: today.getMonth(),
|
|
||||||
list: []
|
|
||||||
}
|
|
||||||
|
|
||||||
this._renderCalendar()
|
|
||||||
|
|
||||||
this._activeFn = bind(this.__INPUT__, 'click', ev => {
|
this._activeFn = bind(this.__INPUT__, 'click', ev => {
|
||||||
if (this.props.disabled || this.props.readonly) {
|
if (this.props.disabled || this.props.readonly) {
|
||||||
|
@ -615,9 +661,10 @@ export default class DatePicker {
|
||||||
month: tmp.getMonth(),
|
month: tmp.getMonth(),
|
||||||
day: tmp.getDate()
|
day: tmp.getDate()
|
||||||
}
|
}
|
||||||
this._renderCalendar()
|
this._fixedRenderDate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.removeAttribute(name)
|
this.removeAttribute(name)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
Reference in New Issue