【问题标题】:Disable days from array with react-day-picker in react使用 react-day-picker 禁用数组中的天数
【发布时间】:2020-06-17 08:39:12
【问题描述】:

我正在使用 react-day-picker 并尝试从 axios 函数中禁用日期数组,如下所示:

this.state = {
  dateDisabled: [],
}

componentDidMount() {
axios.get(URL_GET_DATE)
  .then(response => {
    const date = response.data;
    this.setState({
      dateDisabled: date
    })
  })

}

当我 console.log 时,我的状态 dateDisabled 也变成了这样:

(2) [{…}, {…}]
`0: date_arrivee: "2020-04-07T21:00:00.000Z" date_depart: "2020-04-10T21:00:00.000Z"
`1: date_arrivee: "2020-03-24T22:00:00.000Z"date_depart: "2020-03-30T21:00:00.000Z"

我想要和这里一样的结果 ->

disabledDays={[
    {
      after: new Date(2017, 3, 20),
      before: new Date(2017, 3, 25),
    },
  ]}
/>

Display days as disabled

我的日期在道具之前和之后会变成怎样? 谢谢你,对不起我的英语不好

【问题讨论】:

    标签: reactjs react-day-picker


    【解决方案1】:

    您可以简单地通过数组map 来实现此结果:

    const dates = [{
      date_arrivee: "2020-04-07T21:00:00.000Z",
      date_depart: "2020-04-10T21:00:00.000Z"
    }, {
      date_arrivee: "2020-03-24T22:00:00.000Z",
      date_depart: "2020-03-30T21:00:00.000Z",
    }];
    
    const transformedDates = dates.map((date)=>{
      return {
        before: new Date(date.date_arrivee),
        after: new Date(date.date_depart),
      }
    });
    
    console.log(transformedDates);

    您可以将 transformedDates 设置为 state,然后将其提供给 React Day Picker。

    【讨论】:

    • 天哪,是的,谢谢,有时我们会忘记基本知识哈哈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    相关资源
    最近更新 更多