ionic-team / ionic-team/ionic-framework

bug: DatetimeChangeEventDetail value attribute has wrong type

Ouverte
#30,377 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
needs: investigation
Langage dominant
TypeScript
Étoiles
52.7k
Forks
13.3k
Merge moyen
1 j 14 h
PR mergées (30 j)
50

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 report this problem, without success.

### Ionic Framework Version

v8.x

### Current Behavior

The value attribute now has type of:
```
value?: string | string[] | null;
```
in @ ionic\core\dist\types\components\datetime\datetime-interface.d.ts

This does not match the specification given here https://ionicframework.com/docs/api/datetime#datetimechangeeventdetail
```
interface DatetimeChangeEventDetail {
value?: string | null;
}
```

### Expected Behavior

Type should match online documentation.

### Steps to Reproduce

```
const handler = (event: CustomEvent & { target: HTMLIonDatetimeElement }) => {
new Date(event.detail?.value ?? 0)
}
```
gives typescript error: Type 'string[]' is not assignable to type 'string | number'

### Code Reproduction URL

none

### Ionic Info

Ionic:

Ionic CLI : 7.2.0 (C:\Users\[...user...]\AppData\Roaming\npm\node_modules\@ionic\cli)

Capacitor:

Capacitor CLI : 7.2.0
@capacitor/android : 7.2.0
@capacitor/core : 7.2.0
@capacitor/ios : 7.2.0

Utility:

cordova-res : not installed globally
native-run : not installed globally

System:

NodeJS : v22.12.0 (C:\Program Files\nodejs\node.exe)
npm : 11.3.0
OS : Windows 10

### Additional Information

_No response_

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par @ionic/core/dist/types/components/datetime/datetime-interface.d.ts et comparez DatetimeChangeEventDetail avec la spécification liée de l’API datetime. Confirmez où cette déclaration est maintenue avant de la modifier. C’est terminé lorsque le type de valeur du détail de l’événement correspond au contrat documenté string ou null et que la reproduction TypeScript ne génère plus d’erreur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
frontend
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
52/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.