Skip to content

Conversation

@serkodev
Copy link
Collaborator

@serkodev serkodev commented Nov 13, 2025

Fix #4972

image

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 13, 2025

Open in StackBlitz

vue-component-meta

npm i https://pkg.pr.new/vuejs/language-tools/vue-component-meta@5748

vue-component-type-helpers

npm i https://pkg.pr.new/vuejs/language-tools/vue-component-type-helpers@5748

@vue/language-core

npm i https://pkg.pr.new/vuejs/language-tools/@vue/language-core@5748

@vue/language-plugin-pug

npm i https://pkg.pr.new/vuejs/language-tools/@vue/language-plugin-pug@5748

@vue/language-server

npm i https://pkg.pr.new/vuejs/language-tools/@vue/language-server@5748

@vue/language-service

npm i https://pkg.pr.new/vuejs/language-tools/@vue/language-service@5748

vue-tsc

npm i https://pkg.pr.new/vuejs/language-tools/vue-tsc@5748

@vue/typescript-plugin

npm i https://pkg.pr.new/vuejs/language-tools/@vue/typescript-plugin@5748

commit: 874dc9d

@KazariEX
Copy link
Member

We cannot add Record<string, ...> to the props of a generic component, as this will prevent the component from being controlled by the client's checkUnknownProps.

@serkodev
Copy link
Collaborator Author

Thanks for the advice. Is there any feature demo / more info about checkUnknownProps ?
I tried defineProps<{ x: unknown }>() with checkUnknownProps on / off and seems get the same result.

@KazariEX
Copy link
Member

checkUnknownProps checks for props that do not exist on the component.

@KazariEX
Copy link
Member

The type generated from a generic component is a generic function. This means that when a user uses a generic component type processed by vue-tsc, we cannot modify the component's props (because it would break the generic). Therefore, even if checkUnknownProps is enabled on the user's end, the component's props will still contain Record<string, unknown>.

@serkodev serkodev marked this pull request as draft November 13, 2025 16:02
@serkodev serkodev marked this pull request as ready for review November 14, 2025 15:43
@so1ve so1ve changed the title fix(language-core): defineModal for generic component types fix(language-core): defineModel for generic component types Nov 16, 2025
@johnsoncodehk johnsoncodehk merged commit 5d841f4 into vuejs:master Nov 17, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Passing any prop to generic component makes other props not required (defineModel)

3 participants