Javascript 如何处理日期中的onChange值?反应

Javascript 如何处理日期中的onChange值?反应,javascript,reactjs,Javascript,Reactjs,我有一个简单的日期输入组件,我只是在更改它的值时卡住了。因为它总是打印值“1970-01-01” 有人知道怎么做。谢谢 这是我的密码: import React, { useState } from 'react'; import moment from 'moment'; const DateInput = ({ className = style.defaultSize, onChange }) => { const [value, setValue] = useState(mo

我有一个简单的日期输入组件,我只是在更改它的值时卡住了。因为它总是打印值“1970-01-01”

有人知道怎么做。谢谢

这是我的密码:

import React, { useState } from 'react';
import moment from 'moment';

const DateInput = ({ className = style.defaultSize, onChange }) => {
  const [value, setValue] = useState(moment().format('YYYY-MM-DD'));

  const onChangeDate = (date) => {
    const newDate = moment(date.timeStamp).format('YYYY-MM-DD');
    setValue(newDate);
    console.log(newDate); //always log "1970-01-01"
  };

  return (
    <input
        type="date"
        value={value}
        onChange={onChangeDate}
     />
  );
};

export default DateInput;
import React,{useState}来自“React”;
从“力矩”中导入力矩;
const DateInput=({className=style.defaultSize,onChange})=>{
const[value,setValue]=useState(矩()格式('YYYY-MM-DD');
const onChangeDate=(日期)=>{
const newDate=时刻(date.timeStamp).format('YYYY-MM-DD');
设置值(newDate);
console.log(newDate);//始终记录“1970-01-01”
};
返回(
);
};
导出默认日期输入;

这是因为我们将在
事件.target.value

const onChangeDate=e=>{
const newDate=时刻(新日期(即target.value)).format('YYYY-MM-DD');
设置值(newDate);
console.log(newDate);//从日期选择器中拾取的值
};

您需要通过输入的
事件
对象的
目标
属性访问字段值。因此,您的代码将更改如下:

import React, { useState } from 'react';
import moment from 'moment';

const DateInput = ({ className = style.defaultSize, onChange }) => {
  const [value, setValue] = useState(moment().format('YYYY-MM-DD'));

  const onChangeDate = ({ target }) => {
    const newDate = moment(target.value.timeStamp).format('YYYY-MM-DD');
    setValue(newDate);
    console.log(newDate); //always log "1970-01-01"
  };

  return (
    <input
        type="date"
        value={value}
        onChange={onChangeDate}
     />
  );
};

export default DateInput;
import React,{useState}来自“React”;
从“力矩”中导入力矩;
const DateInput=({className=style.defaultSize,onChange})=>{
const[value,setValue]=useState(矩()格式('YYYY-MM-DD');
const onChangeDate=({target})=>{
const newDate=moment(target.value.timeStamp).format('YYYY-MM-DD');
设置值(newDate);
console.log(newDate);//始终记录“1970-01-01”
};
返回(
);
};
导出默认日期输入;
我已经扩展了您的代码并展示了它,您可以尝试一下,也可以访问live code!
import React,{useState}来自“React”;
从“时刻”中导入时刻;
从“反应力矩”导入力矩;
const DateInput=({className=style.defaultSize,onChange})=>{
const[value,setValue]=useState(矩()格式('YYYY-MM-DD');
const onChangeDate=(日期)=>{
const newDate=setValue(时刻(新日期(Date.target.value)).format(“YYYY-MM-DD”);
设置值(newDate);
console.log(newDate);//始终记录“1970-01-01”
};
返回(
onChangeDate(e)}
/>
时刻时间:

{value} ); };
导出默认日期输入问题缺少有关问题的详细信息。请详细说明您的问题,以便我可以在
onChangeDate
函数中输入和
date.timeStamp
应该是
date.target.value
<代码>常数newDate=时刻(日期.目标.值).格式(“YYYY-MM-DD”)