Open louiss0 opened 1 year ago
@louiss0, it is much easier to use v-slots
directive, if you want strong typing.
Examples: https://github.com/funny-family/vue3-ts-playground/blob/master/src/app/components/not-found/not-found.component.tsx#L210 https://github.com/funny-family/vue3-ts-playground/blob/master/src/app/shared/components/text-field/text-field.render.tsx
@louiss0, it is much easier to use
v-slots
directive, if you want strong typing.Examples: https://github.com/funny-family/vue3-ts-playground/blob/master/src/app/components/not-found/not-found.component.tsx#L210 https://github.com/funny-family/vue3-ts-playground/blob/master/src/app/shared/components/text-field/text-field.render.tsx
You can use this Stackblits example repo to show me what you mean. Stack Blits Setup for you
https://github.com/vue-macros/vue-macros/pull/720 vue-macros support the type hint for v-slots
vue-macros/vue-macros#720 vue-macros support the type hint for v-slots
I need to write an object as the child not use a directive.
<HelloWorld>
{
default(props:Record<string, unknown>) {
return props? props.value : "No props"
}
}
</HelloWorld>
Because of the child maybe a variable to display string.
const foo = 'hello world'
<HelloWorld>
{ foo }
</HelloWorld>
Because of the child maybe a variable to display string.
const foo = 'hello world' <HelloWorld> { foo } </HelloWorld>
Can the plugin be rewritten so that JSX works like React or Solid? I should be able to use an object as a child or the template tag to define slots like in SFC. If I specify types in the function I should be forced to type an object as a child.
Vue Macros
have a v-slot directive to define slot just like in vue template, also has type hint.
https://vue-macros.dev/features/jsx-directive.html#v-slot
Maybe I should add type hints only if the expression is written as an object.
Maybe I should add type hints only if the expression is written as an object.
The plugin needs to be rewritten to support objects as child without using an expression.
@vue-macros/volar@2.3.1
is released.
🧐 Problem Description
In Vue you are able to inject slots by using this syntax
But when I give types for slots I get no error regarding whether or not I'm typing the wrong one or not.
🚑 Other information
Here is a repo You can use to get what I mean. Vue JSX Example