繁体   English   中英

如何从日期选择器获取日期并显示在表格中?材料的UI。 ReactJS

[英]How to get date from Date Picker and show in the table? Material-UI. ReactJS

我使用Material-UI中的Date Picker组件来实现React JS。 我想在桌子上显示所选日期。 日期是一个对象,我尝试在表格行中显示时出错。 这该怎么做?

import React, { Component } from 'react';
import DatePicker from 'material-ui/DatePicker';
import { Table, TableBody, TableHeader, TableHeaderColumn, TableRow, TableRowColumn } from 'material-ui/Table';

export default class AddTaskDialog extends Component {
  constructor(props) {
    super(props);
    this.state = { controlledDate: {} };
    this.handleChangeDate = this.handleChangeDate.bind(this);
  }

  handleChangeDate = (event, date) => {
    this.setState({
      controlledDate: date,
    });
  };

  render() {
    return (
      <div>
        <DatePicker hintText="Date" value={this.state.controlledDate} onChange={this.handleChangeDate}/>
        <Table>
          <TableHeader>
            <TableRow>
              <TableHeaderColumn>Date</TableHeaderColumn>
            </TableRow>
          </TableHeader>
          <TableBody>
            <TableRow>
              <TableRowColumn>{this.state.controlledDate}</TableRowColumn>
            </TableRow>
          </TableBody>
        </Table>
      </div>
    );
  }
}

发送到handleChangeDate处理程序的日期是object类型。 您需要将其转换为日期字符串才能在TableRowColumn内呈现。

export default class AddTaskDialog extends Component {
 constructor(props) {
 super(props);
 this.state = { controlledDate: new Date() };
 this.handleChangeDate = this.handleChangeDate.bind(this);
}

handleChangeDate = (event, date) => {
  this.setState({
    controlledDate: date
  });
};

// INSIDE RENDER
<TableRowColumn>{this.state.controlledDate.toDateString()}</TableRowColumn>

 const date = new Date(); console.log(typeof date); console.log(date.toDateString()); 

你错过了TableRow中的状态。

    constructor(props) {
         super(props);
         this.state = { controlledDate: '' };
         this.handleChangeDate = this.handleChangeDate.bind(this);
    }

    ...

    render() {
       ...

       <TableRow>
           TableRowColumn>{this.state.controlledDate || New Date(Date.now())}</TableRowColumn>
       </TableRow>
    }
{this.state.controlledDate}

不是{this.controlledDate}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM