Antd中單個DatePicker限定時間輸入範圍操作
阿新 • • 發佈:2020-10-30
1、某個時間段
import React from 'react'; import moment from 'moment'; class DateDemo extends React.Component{ disabledDate = (current) => { return current < moment().startOf('day') || current > moment().add(6,'day') ; }; datePickerChange = (date) => { console.log(date,'date即為DatePicker選中的時間'); } render(){ return( <div> <DatePicker disabledDate={this.disabledDate} onChange={this.datePickerChange} /> </div> ) } }
線上檢視:單個DatePicker限定時間輸入範圍
這樣就只能選擇從當天算起到七天後的日期,但是時間的時分秒是你選擇的時候系統時間的時分秒,這個有需要的話要額外處理,比如設定為當天起始值:
... //setHours(hours,min,sec,ms) let day = date ? new Date(date).setHours(0,0): 0; ...
disabledDate方法中時間相關api是配合JS的日期處理類庫:Moment.js使用的,moment().startOf('day') 代表今天,moment().add(6,'day')代表今天加後6天共七天。其他用法可以去官網檢視:http://momentjs.cn/
2、向前或向後時間範圍
... disabledDate = (current) => { return current && current < moment().endOf('day'); } ...
更詳細的API可以去Antd官網看:https://ant.design/components/date-picker-cn/
補充知識:antd中的disabledDate不可選擇時間的處理
我就廢話不多說了,大家還是直接看程式碼吧~
handleData(time){ if(!time){ return false }else{ // 大於當前日期不能選 time > moment() // 小於當前日期不能選 time < moment().subtract(1,“days”) // 只能選前7後7 time < moment().subtract(7,“days”) || time > moment().add(7,‘d') return time < moment().subtract(7,‘d') } }* disabledDate = (current) => { // Can not select days before today and today //return current && current < moment().endOf(‘day');!!!!!當天之前的不可選,包括當天 return current < moment().subtract(1,‘day') !!!!!當天之前的不可選,不包括當天 }
以上這篇Antd中單個DatePicker限定時間輸入範圍操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。