themesberg / flowbite-react

Official React components built for Flowbite and Tailwind CSS

Home Page:https://flowbite-react.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Datepicker is not allowing clearing date

bvedad opened this issue · comments

  • I have searched the Issues to see if this bug has already been reported
  • I have tested the latest version

Summary

Currently, the Datepicker component in Flowbite-React allows users to select a date, but lacks a fully functional clear button that can reset the date to null. The clear button only resets the date to the original value. I propose adding a flag like isClearAction to the onSelectedDateChanged callback function. This flag would be set to true when the clear button is used, allowing developers to explicitly handle the clear action by setting the date to null if desired.

Example implementation:

<Controller
  control={control}
  name="birthday"
  render={({ field: { onChange, value } }) => (
    <Datepicker
      onSelectedDateChanged={(date, isClear) => {
        if (isClear) {
          onChange(null); // Explicitly handle clear action
          return;
        }
        onChange(date); // Handle date change normally
      }}
      placeholder="Please enter date"
      ref={elementRef}
      value={value ? moment(value).format('YYYY-MM-DD') : ''}
    />
  )}
/>

This feature would enable developers to easily implement scenarios where a user might need to completely remove a previously selected date.

Context

In various applications, especially in forms involving date entries like event planning, user registrations, or bookings, having the capability to clear a date completely is crucial. Currently, without this feature, users of our application cannot remove a date once selected; they can only change it. This limitation affects the flexibility and user experience of the application. By implementing this feature, we will provide a more robust and intuitive interaction for users who need to reset their date selections entirely.

That's right, it's a problem that I faced and I had to change the date selector for something so basic, I hope it can be solved since I really like this design