简体   繁体   English

如何仅在选择选项时显示日期选择器?

[英]How to show datepicker only when a option is selected?

I am using react-datepicker and have a select with 4 options, I need to show the calendar only when option number 3 is selected.我正在使用 react-datepicker 并且有一个带有 4 个选项的选择,我只需要在选择选项编号 3 时显示日历。 Here's the code I have so far.这是我到目前为止的代码。

 const [startDate, setStartDate] = useState(new Date())

 <div className="input-block"> <label htmlFor="status">Status</label> <select id="status" name="status" required> <option value="1">Aguardando Disponibilidade</option> <option value="2">Aguardando Agendamento</option> <option value="3">Ativação Agendada</option> <option value="4">Ativação Efetuada</option> </select> <div className="calendar"> <DatePicker className="calendar-input" selected={startDate} onChange={(date) => setStartDate(date)} showTimeSelect timeFormat="HH:mm" dateFormat="dd/MM/yyyy HH:mm " /> </div> </div>

import React, { useState } from 'react';

const YourComp = () => {
  const [selectedValue, updateSelectedValue] = useState();
  const [startDate, setStartDate] = useState(new Date())

  const onSelectChange = ({ target: { value } }) => updateSelectedValue(value);

  return (
    <div className="input-block">
     <label htmlFor="status">Status</label>
     <select
      id="status"
      name="status"
      required
      onChange={onSelectChange}
     >
       <option value="1">Aguardando Disponibilidade</option>
       <option value="2">Aguardando Agendamento</option>
       <option value="3">Ativação Agendada</option>
       <option value="4">Ativação Efetuada</option>
     </select>
   {
     selectedValue === '3'
     ? (
      <div className="calendar">
        <DatePicker
         className="calendar-input"
         selected={startDate}
         onChange={(date) => setStartDate(date)}
         showTimeSelect
         timeFormat="HH:mm"
         dateFormat="dd/MM/yyyy HH:mm "
        />
      </div>
     )
     : null
   }
</div>
  )
}

The above mentioned code should resolve your issue.上面提到的代码应该可以解决您的问题。 The idea is to put a conditional check to render DatePicker component.这个想法是进行条件检查以呈现 DatePicker 组件。 React Official Doc - Conditional Rendering React 官方文档 - 条件渲染

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

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