Javascript 如何处理日期中的onChange值?反应
我有一个简单的日期输入组件,我只是在更改它的值时卡住了。因为它总是打印值“1970-01-01” 有人知道怎么做。谢谢 这是我的密码: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
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”)代码>。