ionic-team / ionic-team/ionic-framework
feat: Datetime component custom hooks
- Langage dominant
- TypeScript
- Étoiles
- 52.7k
- Forks
- 13.3k
- Merge moyen
- 1 j 15 h
- PR mergées (30 j)
- 51
Description
### Prerequisites
- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already include this feature request, without success.
### Describe the Feature Request
Hey, it's quite straightforward. It'd be great if somehow we could get custom hooks when certain actions happen inside components that are in the shadow dom. Specifically, in Datetime it would be great to know when the month is being rendered
### Describe the Use Case
I want to be able to add different icons to the datetime calendar depending on whether they have activity or not (coming from an external source.
### Describe Preferred Solution
It should be quite easy:
Add a prop onRenderMonth to the component.
Line 2384 of ionic-framework/core/src/components/datetime/datetime.tsx
`onRenderMonth()
return this.renderMonth(month, year);`
### Describe Alternatives
_No response_
### Related Code
_No response_
### Additional Information
_No response_
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Start in core/src/components/datetime/datetime.tsx around line 2384, where renderMonth is called, and inspect how the Datetime component exposes props and renders months. Define the onRenderMonth behavior and callback information needed for external activity-based icons, then verify that month rendering invokes it as expected.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- frontend
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100