日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

antd的timePicker.RangePicker設(shè)置結(jié)束時(shí)間不可早于開始時(shí)間

作者:xinxin_csdn 更新時(shí)間: 2022-05-10 編程語言

antd當(dāng) 結(jié)束時(shí)間小于結(jié)束時(shí)間時(shí),會將倆個(gè)時(shí)間置換,不能滿足需求啊

api中disabledTime不知為啥不觸發(fā)。。。待解決

利用onCalendarChange方法和disabledHours、disabledMinutes去實(shí)現(xiàn)效果

代碼如下

import { TimePicker } from 'antd'

const [disabledHourValue, setDisabeledHourValue] = useState([]) // 不能選擇的小時(shí)
const [hourNum, setHourNum] = useState(0)?// 已選擇的時(shí)間的 小時(shí)數(shù)

const [minuteNum, setMinuteNum] = useState(0)  // 已選擇的時(shí)間的 分鐘數(shù)

const [selectType, setSelectType] = useState() // 已選擇的時(shí)間的類型

const disabledHoursFun = () => {

? return disabledHourValue

}
const disabledMinutesFun = selectedHour => {
    let disabledValue = []
    if (selectType === 'start') {
      if (selectedHour === hourNum) {
        for (let i = 0; i < 60; i++) {
          if (i > minuteNum) {
            disabledValue.push(i)
          }
        }
      }
    } else if (selectType === 'end') {
      if (selectedHour === hourNum) {
        for (let i = 0; i < 60; i++) {
          if (i < minuteNum) {
            disabledValue.push(i)
          }
        }
      }
    }
    return disabledValue
}
const dealTimeData = (type, time) => {
    let timeArr = time.split(':')
    let hour = Number(timeArr[0])
    let minute = Number(timeArr[1])
    setHourNum(hour)
    setMinuteNum(minute)
    setSelectType(type)
    let disabledHourArr = []
    if (type === 'start') {
      for (let i = 0; i < 24; i++) {
        if (i > hour) {
          disabledHourArr.push(i)
        }
      }
    } else if (type === 'end') {
      for (let i = 0; i < 24; i++) {
        if (i < hour) {
          disabledHourArr.push(i)
        }
      }
    }
    return disabledHourArr
}
const changeRangeTime = (dates, dateStrings, info) => {
    if (dateStrings[0] === '' && dateStrings[1] === '') {
      setDisabeledHourValue([])
      return
    }
    let startTime = dateStrings[0]
    let endTime = dateStrings[1]
    if (info.range === 'start') {
      if (startTime !== '') {
        let data = dealTimeData('end', startTime)
        setDisabeledHourValue(data)
      }
    } else if (info.range === 'end') {
      if (endTime !== '') {
        let data = dealTimeData('start', endTime)
        setDisabeledHourValue(data)
      }
    }
}



原文鏈接:https://blog.csdn.net/xinxin_csdn/article/details/121343484

欄目分類
最近更新