antd datepicker设置开始时间和期限计算出结束时间并且去除周六日
阅读原文时间:2021年04月21日阅读:1

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

            })

        }

 }

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章