2016-12-25 101 views
3

我使用反應材料ui創建日期範圍選取器。我在這個功能背後的邏輯是選擇需要的日期,如果需要的日期已被選中,從選定的日期禁用所有過去的日期。如何實現這個反應材料的用戶界面?如何使用Material ui reactjs從今天的日期禁用過去的日期?

這裏是我的代碼,

import React from 'react'; 
import {render} from 'react-dom'; 
import DatePicker from 'material-ui/DatePicker'; 

function disablePrevDates(date) { 
    return date.getDay() === 0; 
} 

class App extends React.Component { 
    render() { 
     return (
      <div> 
       <DatePicker hintText="Check-in" shouldDisableDate={disablePrevDates} /> 
      </div> 
     ) 
    } 
} 

export default App; 
+0

我建議使用類似moment.js ...或嘗試傳遞的minDate當你實例化DatePicker時。 –

+0

@Sathya你能檢查我的答案嗎,它能解決你的問題嗎?如果這不是你問的問題,你可以提供更多的細節,你需要什麼? –

回答

3

這就是:

import React from 'react'; 
 
import DatePicker from 'material-ui/DatePicker'; 
 

 
function disablePrevDates(startDate) { 
 
    const startSeconds = Date.parse(startDate); 
 
    return (date) => { 
 
    return Date.parse(date) < startSeconds; 
 
    } 
 
} 
 

 
class App extends React.Component { 
 
    
 
    render() { 
 
     const startDate = new Date(); 
 
//  or: 
 
//  const startDate = new Date('December 20, 2016'); 
 
//  const startDate = this.state.firstDate; 
 
     
 
     return (
 
      <div> 
 
       <DatePicker 
 
        hintText="Check-in" 
 
        shouldDisableDate={disablePrevDates(startDate)} 
 
       /> 
 
      </div> 
 
     ) 
 
    } 
 
} 
 

 
export default App;

相關問題