date.toISOString不是react本机日期选择器中的函数



我使用以下代码在react native中选择日期时间,它使用react-native-date-picker:

import DatePicker from 'react-native-date-picker;
...
render(){
return(
<DatePicker
mode="datetime"
date={this.state.date}
onDateChange={(date)=>{this.setState(date: date)}} />
);}

这是我使用过的软件包的链接。但是在使用上面的代码时,我得到了错误date.toISOString is not a function。我使用了与文档中所示完全相同的示例,但它不起作用。此外,react-native-datepicker也不能正常工作。

我的React本机版本>0.60.

请帮我解决这个问题。

这是我之前关于同一主题的问题的链接,一位用户建议我使用react-native-date-picker

我遇到了同样的问题。

看起来react本机日期选择器包不允许您使用除包内设置的日期格式之外的任何其他日期格式您必须在其他地方解析它,并将其状态设置为新解析的值

你有两个";变通办法":

  1. 使用另一个可用于react native的库日期选择器,有很多
  2. 下载date_fns软件包(npm install date_fns--save(。你可以使用它来轻松地解析日期,它比我看到的一些人推荐的moments包更轻。(您可以这样解析:formattedDate=format(出生日期,'yyyy-MM-dd'((

p。S: 你所指的例子是";react native datepicker";包,并且您正在使用";react native date picker";包装(注意"日期"one_answers"选择器"之间的"-"(。

我的问题是我忘记添加"日期";属性添加到DatePicker组件,这是可选的。

在iOS上,这个属性可以省略,一切都会正常工作,但在Android上会出现错误:"TypeError: undefined is not an object (evaluating 'date.toISOString')".

组件的工作版本如下:

<DatePicker
date = {new Date ()}
mode = {"datetime"}
onDateChange = {setDate}
locale = 'en'
/>

尝试将date={this.state.date}更改为date={new Date(this.state.date)}

最新更新