reactjs react-date-range:仅在选择开始日期和结束日期后检测

n7taea2i  于 5个月前  发布在  React
关注(0)|答案(1)|浏览(53)

我正在使用react js开发一个 Jmeter 板页面,我使用react-date-range插件来按日期范围选择活动。下面是react-date-range的配置。

export default function Daterange() {
let [state, setState] = useState([
    {
      startDate: new Date(),
      endDate: null,
      key: 'selection'
    }
  ]);

const handleSelect = (changes) => {
    setState([changes.selection]);
    console.log("Trigger search");
};

return (
<div>
    <DateRange
      editableDateInputs={true}
      //onChange={item => setState([item.selection])}
      moveRangeOnFirstSelection={false}
      retainEndDateOnFirstSelection={false}
      ranges={state}
      onChange={item => handleSelect(item)}
    />
</div>
)
}

字符串
目前的情况是,一旦在UI中选择了startDate,endDate也会被初始化为与startDate相同的值,从而触发了函数numerSelect。在下图中,您可以看到我只选择了startDate,但endDate的值也会被初始化为startDate,即使我没有选择endDate。
x1c 0d1x的数据
如何确保只有在UI中显式选择了startDate和endDate之后才触发器Select?

8e2ybdfx

8e2ybdfx1#

您可以通过将retainEndDateOnFirstSelection属性设置为true来执行此操作:

<DateRange
  editableDateInputs={true}
  //onChange={item => setState([item.selection])}
  moveRangeOnFirstSelection={false}
  retainEndDateOnFirstSelection={true}
  ranges={state}
  onChange={item => handleSelect(item)}
/>

字符串

相关问题