Reactjs 修改的反应日期选择器未显示值
我用的是react v.15。使用react datepicker库会在使用默认代码时出现问题。我已经成功地修改了代码,但每当我点击所选日期时,它根本不会显示任何日期。我的代码是这样的:Reactjs 修改的反应日期选择器未显示值,reactjs,react-datepicker,Reactjs,React Datepicker,我用的是react v.15。使用react datepicker库会在使用默认代码时出现问题。我已经成功地修改了代码,但每当我点击所选日期时,它根本不会显示任何日期。我的代码是这样的: import * as React from 'react'; let DatePicker = require('react-datepicker'); import 'react-datepicker/dist/react-datepicker.css'; export default class Dte
import * as React from 'react';
let DatePicker = require('react-datepicker');
import 'react-datepicker/dist/react-datepicker.css';
export default class DtePicker extends React.Component<any, any> {
constructor() {
super()
this.state = {
startDate: new Date(),
}
this.handleChange = this.handleChange.bind(this)
}
handleChange(date) {
this.setState({
startDate: date
});
};
render() {
return (
<div>
<DatePicker
dateFormat='yyyy/MM/dd'
selected={this.state.startDate}
onChange={this.handleChange}
/>
</div>
);
}
}
Am I missing a code perhaps in my handleChange function? Also, it's a typescript file, using ASP.Net framework.
import*as React from'React';
让DatePicker=require('react-DatePicker');
导入'react datepicker/dist/react datepicker.css';
导出默认类DtePicker扩展React.Component{
构造函数(){
超级()
此.state={
开始日期:新日期(),
}
this.handleChange=this.handleChange.bind(this)
}
手册更改(日期){
这是我的国家({
开始日期:日期
});
};
render(){
返回(
);
}
}
我的handleChange函数中是否缺少代码?此外,它是一个类型脚本文件,使用ASP.Net framework。
试试这个。它工作正常
import React from "react";
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
class DtePicker extends React.Component {
constructor() {
super();
this.state = {
startDate: new Date()
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(date) {
this.setState({
startDate: date
});
}
render() {
return (
<div>
<DatePicker
dateFormat="yyyy/MM/dd"
selected={this.state.startDate}
onChange={this.handleChange}
/>
</div>
);
}
}
从“React”导入React;
从“反应日期选择器”导入日期选择器;
导入“react datepicker/dist/react datepicker.css”;
类DtePicker扩展了React.Component{
构造函数(){
超级();
此.state={
起始日期:新日期()
};
this.handleChange=this.handleChange.bind(this);
}
手册更改(日期){
这是我的国家({
开始日期:日期
});
}
render(){
返回(
);
}
}
在指定了版本后,我看到“date.clone不是函数”错误,因此我怀疑
时刻有问题
react datepicker
v0.40.0使用引擎盖下的力矩
所选日期必须是时刻
对象,因此我们将每个日期对象保存为时刻
日期对象
class DtePicker extends Component {
constructor(props) {
super(props); // Don't forget to pass props to super constructor!
this.state = {
startDate: moment(new Date())
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(date) {
this.setState({
startDate: moment(date)
});
}
render() {
return (
<div>
<DatePicker
dateFormat="YYYY/MM/dd" // Also corrected date format
selected={this.state.startDate}
onChange={this.handleChange}
/>
</div>
);
}
}
类DtePicker扩展组件{
建造师(道具){
超级(道具);//别忘了将道具传递给超级构造函数!
此.state={
开始日期:时刻(新日期())
};
this.handleChange=this.handleChange.bind(this);
}
手册更改(日期){
这是我的国家({
开始日期:时刻(日期)
});
}
render(){
返回(
);
}
}
- 力矩v2.24.0
- 反应v15.4.1
- 反应日期选择器v0.40.0
- react dom v15.4.1
正如我所说,我使用的是一种更老的方法。因此,我必须通过不使用默认代码来修改代码。所以那是行不通的。无论如何,谢谢。听起来是时候更新到React的新版本了。您使用的React的具体版本是什么。另外,您使用的是什么特定版本的react datepicker
?这是“react datepicker我无法让您的代码在codesandbox(尝试了react v15.0.0-15.5.0)和(react datepicker v2.9.3及更高版本)中运行的代码”。@Drewrese react是15.4.1,兼容的react datepicker版本是0.40.0现在终于取得了进展。下拉菜单现在工作正常,但每当我导入registerlocale.Nevermind时,该语言似乎会阻碍页面加载。终于让它完全工作了。谢谢