arco-design icon indicating copy to clipboard operation
arco-design copied to clipboard

RangePicker with showTime defaultValue not working correctly when selecting dates in reverse order

Open jon1301 opened this issue 1 year ago • 2 comments

When using RangePicker with showTime and setting defaultValue for time, there is an issue with time assignment when selecting dates in reverse order (selecting end date first, then start date).

demo url: https://64md6x.csb.app/

https://github.com/user-attachments/assets/25415c36-1d05-49e8-ae5d-b22dcf857753

Steps to reproduce:

  1. Create a RangePicker with showTime and defaultValue:
<DatePicker.RangePicker
  showTime={{
    defaultValue: [
      dayjs().hour(0).minute(0).second(0),
      dayjs().hour(23).minute(59).second(59)
    ],
  }}
/>

2.Select dates in reverse order:

  • First select a later date (e.g., 2025-02-16)
  • Then select an earlier date (e.g., 2025-02-01)

Expected behavior:

  • First date should always get time 00:00:00

  • Second date should always get time 23:59:59

  • Regardless of selection order Actual behavior:

  • When selecting in reverse order, the times are incorrectly assigned

  • Result: 2025-02-01 23:59:59 ~ 2025-02-16 00:00:00

  • The earlier date gets the later time, and vice versa

Environment:

  • @arco-design/web-react version: ["@arco-design/web-react": "2.65.0",]
  • React version: ["react": "18.2.0",]
  • Browser: [Google 133.0.6943.55 (arm64)]

jon1301 avatar Feb 18 '25 06:02 jon1301

我这个操作在正常选择 开始日期、结束日期是没问题的, 但是我是模拟的用户操作,因为用户是不懂你开始日期、结束日期输入框的,她是激活了日期选择框就按她的想法去选择日期

jon1301 avatar Feb 18 '25 07:02 jon1301

期待答复

jon1301 avatar Feb 20 '25 06:02 jon1301