javascript - rc calendar 当我在日历中选择日期时它在文本框中没有改变

标签 javascript html css reactjs redux

我是 rc 日历的新手。

我能够显示 rc-calendar,但是当我在日历中选择日期时,它在文本框中没有改变。

所以我调试并研究了他们文档中的各种方法。 但不确定使用哪种方法。

你能告诉我如何修复它,以便将来我自己修复它。

我认为问题是由于这一行输入 value={moment(value).format('M/D/YY')}/>

https://stackblitz.com/edit/react-b2d3rb?file=demo.js

 render() {
        const calendar = (<Calendar/>);
        return (
            <div>
                <DatePicker
                    animation="slide-up"
                    value={moment()}
                    disabled={false}
                    calendar={calendar}
                >{
                    ({value}) => {
                        return (
                           // <input value={value}/>
                            <input value={moment(value).format('M/D/YY')}/>
                        )
                    }
                }</DatePicker>
            </div>
        )
    }

最佳答案

在这里,您的代码可以正常工作,只需要通过“handleChange”方法设置状态并在“moment”方法中传递参数:

import React, {Component} from 'react';
import Calendar from 'rc-calendar';
import DatePicker from 'rc-calendar/lib/Picker';
import 'rc-calendar/assets/index.css';
import moment from 'moment';

class CalendarPage extends Component {
  constructor(props) {
    super(props);
    this.state = {
      date: new Date(),
    };
    this.handleChange = this.handleChange.bind(this);
}

handleChange(date) {
  console.log(date);
  this.setState({
    date: date,
  });
}

render() {
    const calendar = (<Calendar/>);
    return (
        <div>
            <DatePicker
                animation="slide-up"
                value={moment(this.state.date)}
                disabled={false}
                calendar={calendar}
                onChange={this.handleChange}
            >{
                ({value}) => {
                    return (
                        <input value={moment(value).format('M/D/YY')}/>
                    )
                }
            }</DatePicker>
        </div>
    )
  }
}

export default CalendarPage;

关于javascript - rc calendar 当我在日历中选择日期时它在文本框中没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53675126/

相关文章:

html - html 表单标签中的操作 ="#"中的哈希值意味着什么

jquery - Bootstrap 3 - 制作文本区域填充表

javascript - Uncaught ReferenceError : $$ is not defined

javascript - 为什么 Prism 语法高亮器会在 CSS 类前面添加一个空格?

javascript - 使用 jQuery 在页面重新加载后隐藏 iframe id

javascript - chrome jquery 中的 "input"事件未触发

jquery - 隐藏某些文本字符串并替换为省略号 - 悬停时显示

javascript - 在 Javascript 对象中保持未知项目计数

javascript - jQuery : find length of mixed list

javascript - 响应式网站 : how to keep on mobile, 默认悬停层元素 "on"