如何使用 Material ui reactjs 禁用从今天开始的过去日期?
Posted
技术标签:
【中文标题】如何使用 Material ui reactjs 禁用从今天开始的过去日期?【英文标题】:How to disable past dates from today date with Material ui reactjs? 【发布时间】:2017-05-10 10:40:35 【问题描述】:我正在使用反应材料 ui 创建日期范围选择器。我在此功能背后的逻辑是选择所需日期,如果已选择所需日期,则禁用所选日期的所有过去日期。这个react材质ui如何实现?
这是我的代码,
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;
【问题讨论】:
我建议使用类似 moment.js 的东西...或者在实例化 DatePicker 时尝试传入 minDate。 @Sathya 你能检查我的答案吗,它解决了你的问题吗?如果这不是您要询问的内容,您能否提供更多详细信息? 【参考方案1】:这里是:
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;
【讨论】:
【参考方案2】:与您的问题的标题有关。
const minDate = new Date(Date.now());
class App extends React.Component
render()
return (
<div>
<DatePicker hintText="Check-in" minDate=minDate />
</div>
)
【讨论】:
【参考方案3】:最好的方法是:
class App extends React.Component
render()
return (
<div>
<DatePicker hintText="Check-in" disablePast />
</div>
)
【讨论】:
以上是关于如何使用 Material ui reactjs 禁用从今天开始的过去日期?的主要内容,如果未能解决你的问题,请参考以下文章
ReactJS + Material-UI:如何在每个 TableRow 中使用 Material-UI 的 FlatButton 和 Dialog?
数据变化时如何在ReactJS中刷新Material-Table(Material-ui)组件
如何使用 Material ui reactjs 禁用从今天开始的过去日期?
ReactJS with Material-UI:如何按字母顺序对 Material-UI 的 <TableRow> 数组进行排序?
ReactJS + Material-UI:如何在 Material-UI <Table/> 的 <TableRow/> 之间交替颜色?