Skip to content

DatePicker does not trigger onChange when manually clearing input text #946

@alii13

Description

@alii13

Issue for react-component/picker

Title: DatePicker does not trigger onChange when manually clearing input text

🐛 Bug Report

rc-picker version: 4.11.3 (also affects latest versions)

📝 Description

When a user manually selects and deletes the date text in a Picker input field (by selecting all text and pressing delete/backspace), the onChange callback is not triggered. After the input loses focus (blur), the previous date value re-appears.

This behavior is inconsistent with:

  • Clicking the clear button (which properly triggers onChange with null)
  • User expectations (manual deletion should clear the value)

🔗 Related Issues

📦 Reproduction

Codesandbox: Link to reproduction

Steps to reproduce:

  1. Render a Picker with a value (e.g., "2023-08-01")
  2. Click in the input field
  3. Select all text (Ctrl+A / Cmd+A)
  4. Press Delete or Backspace to clear the text
  5. Click outside the input (trigger blur)

Expected behavior:

  • onChange should be called with null
  • Input should remain empty
  • Value should be cleared

Actual behavior:

  • onChange is NOT called
  • Input resets to the previous value ("2023-08-01")
  • Value is not cleared

📋 Additional Context

This issue affects:

  • ✅ Single date picker
  • ✅ Range picker (both inputs)
  • ✅ All picker modes (date, week, month, year, quarter, time)

Reopening this issue here recommend by @zombieJ

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions