antd 時間選擇器 TimePicker 實現只能選擇 當天零點到當前時間的時間段


import { TimePicker } from 'antd';
 
引入   import moment from 'moment';
 
moment().hours() 獲取當前小時
moment('2021-08-05 11:07:05').hours()   // 11
 
攜帶年月日           time[0].format('YYYY-MM-DD HH:mm:ss') 或  time[1].format('YYYY-MM-DD HH:mm:ss')
只展示時分秒        time[0].format('HH:mm:ss') 或  time[1].format('HH:mm:ss')
 
import { useState } from 'react';
import { TimePicker } from 'antd';  // 引入

  const [time, setTime] = useState<any>([]);

  // 時間禁用設置
  // 禁用小時
  const getDisabledHours = () => {
    let hours = [];
    for (var i = 23; i > moment().hours(); i--) {
      hours.push(i);
    }
    return hours;
  };
  // 禁用分鍾
  const getDisabledMinutes = (hours) => {
    let minutes = [];
    if (hours === moment().hours()) {
      for (var i = 59; i > moment().minutes(); i--) {
        minutes.push(i);
      }
    }
    return minutes;
  };
  // 禁用秒
  const getDisabledSeconds = (hours, minutes) => {
    let second = [];
    if (hours == moment().hours() && minutes == moment().minutes()) {
      for (var i = 59; i >= moment().seconds(); i--) {
        second.push(i);
      }
    }
    return second;
  };

                    <TimePicker.RangePicker
                      value={time}
                      disabledHours={getDisabledHours}
                      disabledMinutes={getDisabledMinutes}
                      disabledSeconds={getDisabledSeconds}
                      onChange={(val) => setTime(val)}
                    />

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM