简体   繁体   English

仅选择开始日期或结束日期时如何处理反应日期范围(日期范围)的 onChange 事件

[英]How to handel event onChange of react-date-range (Date range) when only select start date or end date

  1. I have a component DateRange using react-date-range, Import:我有一个使用 react-date-range 的组件 DateRange,导入:
import { Range, DateRange, RangeKeyDict } from 'react-date-range';
import 'react-date-range/dist/styles.css';
import 'react-date-range/dist/theme/default.css';

Default value:默认值:

 const [dateRangeValue, setDateRangeValue] = useState<Range>({
        startDate: new Date(),
        endDate: new Date(),
    });

Fuction:功能:

const handelOnchange = (itemRespon: Range): void => {
        console.log('itemRespon,', itemRespon);
        //Display start end date which was chosen
        renderFooteDate(itemRespon);
        //Set new date range value
        setDateRangeValue(itemRespon);
        //CallBackParrent to give data back
    };

Component:零件:

 <DateRange
 className={style.dateRangeWrapper}
 editableDateInputs={true}
 onChange={(item: RangeKeyDict): void => handelOnchange(item.selection)}
 moveRangeOnFirstSelection={false}
 ranges={[{ ...dateRangeValue, key: 'selection' }]}
 months={2}
 direction="horizontal"
 />

Picture: Date图片:日期

2.I hope i can get value when ever i chose only start date or end date, but currently it only active onChange event when i click both start and end date. 2.我希望当我只选择开始日期或结束日期时我能获得价值,但目前它只在我同时单击开始和结束日期时激活 onChange 事件。 I do not always need both start and end, sometimes i just need 1 of them is enough.我并不总是需要开始和结束,有时我只需要其中之一就足够了。

I tried to reproduce the error, but it works fine for me.我试图重现错误,但对我来说效果很好。
Please see example . 请看例子
The only thing you have to do is to press Enter after changing the date, then the changes will be applied.您唯一需要做的就是在更改日期后按Enter ,然后将应用更改。

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

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