在React Hooks中的对象数组中使用onChange更新useState中的日期(日期选择器)

时间:2019-12-04 16:08:27

标签: reactjs datepicker react-hooks

我已经像这样使用了钩子:

const [tableRows, settableRows] = useState([
    {
        vehicleNumber: '3080',
        bookedOn: '11-23-2019',
        checkIn: new Date()
    },{
        vehicleNumber: '3080',
        bookedOn: '11-23-2019',
        checkIn: new Date()
    }
  ])

我已经使用map方法渲染了每个对象,并且在Datepicker中有checkin。我想使用checkIn

更改onChange的值

2 个答案:

答案 0 :(得分:0)

您要从哪个onChange更改checkIn参数?您可以将数据结构更改为对象的对象,并为每个对象设置与vehicleNumber(或任何唯一ID)相关的键,以便可以轻松访问想要修改的对象,说: / p>

const [tableRows, settableRows] = useState({
    `3080`: {
        vehicleNumber: '3080',
        bookedOn: '11-23-2019',
        checkIn: new Date()
    },
    `3081`{
        vehicleNumber: '3081',
        bookedOn: '11-23-2019',
        checkIn: new Date()
    }
  ])

要进行访问,您可以编写如下方法:

const changeCheckIn = ( vehicleNumber ) => {
   const tableRows_ = tableRows;
   tableRows_[vehicleNumber].checkIn = new Date();
   settableRows(tableRows_)
}

如果您无法修改数据结构,则必须通过遍历列表来向changeCheckIn method, so you will be able to identify what row you want to change发送ID。

答案 1 :(得分:0)

我正在搜索此功能

    SELECT 
       DISTINCT M.PDLINEGROUP, 
       G.MAX_CREATED_DATE 
    FROM ${YOUR_TABLE_NAME} M
    LEFT JOIN (
        SELECT 
               PDLINEGROUP, 
               MAX(CREATEDATE), --this will ensure to pick up the latest date
        FROM ${YOUR_TABLE_NAME} G
        GROUP BY PDLINEGROUP ON M.PDLINEGROUP=G.PDLINEGROUP 
    )