react-component / react-component/picker
DatePicker does not trigger onChange when manually clearing input text
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 304
- Forks
- 345
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 7
Description
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
onChangewithnull) - User expectations (manual deletion should clear the value)
🔗 Related Issues
- ant-design/ant-design#52473
📦 Reproduction
Codesandbox: Link to reproduction
Steps to reproduce:
- Render a Picker with a value (e.g., "2023-08-01")
- Click in the input field
- Select all text (Ctrl+A / Cmd+A)
- Press Delete or Backspace to clear the text
- Click outside the input (trigger blur)
Expected behavior:
onChangeshould be called withnull- Input should remain empty
- Value should be cleared
Actual behavior:
onChangeis 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
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked CodeSandbox reproduction and compare manual deletion with the clear-button behavior for single and range pickers. Done means clearing the input triggers onChange with null, keeps the input empty after blur, and preserves the behavior across the listed picker modes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100