datepicker 需要使用moment格式的时间作为value,但是在操作 此value时,包括moment.add()等方法都会直接改变datepicker的值,即使没有重新赋值。此时需要配合moment-immutable-methods
使用
import { momentImmutableMethods } from 'moment-immutable-methods'
momentImmutableMethods(moment)
getFinishTime=(value)=>{
const {getFieldValue} = this.props.form
let i = 0
if(typeof(value)==="number"){
let incomingTime = getFieldValue("incomingTime")
while(i<value){
if(incomingTime.addImmu(1,'d').weekday()!==5&&incomingTime.addImmu(1,'d').weekday()!==6){
i++
incomingTime = incomingTime.addImmu(1,'d')
}else{
incomingTime = incomingTime.addImmu(1,'d')
}
}
this.setState({
finishTime:value===16?moment():incomingTime,
disabledFinishTime:value===16?false:true
})
}else if(typeof(value)==="object"){
let deadTime = getFieldValue("deadTime")
while(i<deadTime){
if(value.addImmu(1,'d').weekday()!==5&&value.addImmu(1,'d').weekday()!==6){
i++
value = value.addImmu(1,'d')
}else{
value = value.addImmu(1,'d')
}
}
this.setState({
finishTime:deadTime===16?moment():value,
disabledFinishTime:deadTime===16?false:true
})
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章