I've been struggling with this all day. The solution I've come up with is to use variables and set the DefaultDate to Today() if blank and to use colours to indicate the difference between blank and completed dates.
My particular app has a dashboard screen with a list of student names, when I click on the student name it goes to a new screen with several fields in a grid. The fields reflect what is saved for each student in a SharePoint list. I have quite a lot of date fields, so this bug is a major issue for me. I can't get the dates to reset at all and I need a way to stop the cached dates from overriding the blank dates in my list because they are important dates that need to be accurate.
When the Student record screen loads I set a variable for each date picker OnVisible.
Set(varAbstractDate, DateValue(varItem.'Abstract date'));
On the individual record screen I set the DefaultDate for my Abstract Date Field to:
If(IsBlank(varAbstractDate),Text(Today()),varAbstractDate);
This sets the field to Today's date if the list field is blank.
I want to indicate to the user that this date is not the official date, it's just a placeholder, so I've set the Color value to grey if the field is blank and black if it is populated with a date already.
If(IsBlank(varAbstractDate), Color.DarkGray, Color.Black)
This makes the default today's date grey (the same colour as a placeholder).
I want something to indicate to the user that they have updated the value when they select a date, so the colour changes to black OnChange. I also want them to see at a glance which fields are still to be completed.
Set(varAbstractDate, DateValue(Self.SelectedDate))
This also updates the variable with the newly selected date. This is because I want to save the variable, not the SelectedDate from the field. Because I don't want to save any of the default today's dates.
On the save button I patch to the list using the variable rather than the fieldname.SelectedDate.
'Abstract date': varAbstractDate,
This was the only way I could think of making it usable without using a form. I'm using a Power App because I have so many fields that need to be put into individual sections for clarity. This was the only way I could think of doing it that would maintain free fields and without having to rebuild the whole app with old style date pickers.