ionic-team / ionic-team/ionic-framework

bug: Vue IonTabBar and IonButtons missing slot prop type

Aperta
#30,545 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
package: vue type: bug
Lingua principale
TypeScript
Stelle
52.7k
Fork
13.3k
Merge medio
1g 15h
PR unite (30g)
51

Descrizione

### 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

In a Vue application with a strict templates vue-tsc preset (that disallows undefined properties to be set), using the `IonTabBar` or `IonButtons` with a named slot (for example `slot="bottom"`) leads to a TypeScript error.

This is due to the fact that vue-tsc doesn't recognise a `slot` prop.
There may be more components with the same issue.

### Expected Behavior

I expect the component definition to include the `slot` property.

### Steps to Reproduce

In a vue project with vue-tsc's configuration set like so (part of tsconfig.json)
```json
"vueCompilerOptions": {
"strictTemplates": true
}
```

Add this to any vue component's template:

```


Home


```

### Code Reproduction URL

https://stackblitz.com/edit/vue-kq5gzqta?file=package.json,src%2Fcomponents%2FHelloWorld.vue,tsconfig.json

### Ionic Info

Ionic:

Ionic CLI : 7.2.0
Ionic Framework : @ionic/vue 8.6.2

Capacitor:

Capacitor CLI : not installed
@capacitor/android : 7.4.0
@capacitor/core : 7.4.0
@capacitor/ios : 7.4.0

Utility:

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

System:

NodeJS : v20.17.0
npm : 11.0.0
OS : macOS Unknown

### Additional Information

_No response_

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.