Skip to content

Commit

Permalink
fix: support required props check for events
Browse files Browse the repository at this point in the history
close #2468
  • Loading branch information
johnsoncodehk committed Apr 29, 2023
1 parent 514a430 commit d0f4ab0
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
10 changes: 10 additions & 0 deletions packages/vue-language-core/src/generators/template.ts
Expand Up @@ -982,6 +982,16 @@ export function generate(

for (const prop of props) {
if (
prop.type === CompilerDOM.NodeTypes.DIRECTIVE
&& prop.name === 'on'
&& prop.arg?.type === CompilerDOM.NodeTypes.SIMPLE_EXPRESSION
) {
codes.push(
camelize('on-' + prop.arg.loc.source),
': {} as any, ',
);
}
else if (
prop.type === CompilerDOM.NodeTypes.DIRECTIVE
&& (prop.name === 'bind' || prop.name === 'model')
&& (prop.name === 'model' || prop.arg?.type === CompilerDOM.NodeTypes.SIMPLE_EXPRESSION)
Expand Down
11 changes: 11 additions & 0 deletions packages/vue-test-workspace/vue-tsc/#2468/main.vue
@@ -0,0 +1,11 @@
<script setup lang="ts">
let Foo: new () => {
$props: {
onFoo: () => void;
}
};
</script>

<template>
<Foo @foo="() => {}"></Foo>
</template>

0 comments on commit d0f4ab0

Please sign in to comment.