language-tools icon indicating copy to clipboard operation
language-tools copied to clipboard

use kebab in defineSlot will lose ts-check

Open Kanade-Lu opened this issue 2 years ago • 4 comments

Vue version

3.3.11

Link to minimal reproduction

https://play.vuejs.org/#eNqNVE1PGzEQ/StT9xCQ2F1V3NJNRIs40ENbFY6+bNaTxNRfsr0hFcp/79gmsIkI4rJ69jzPm3nr8RP75ly9GZBNWRt6L12EgHFwc26kdtZHuLbawdJbDZO6SYtEn3zlhpvemhCBvku5ghk8cQPQTWHSTS4SXBBcFNgT7AsUBEWCO27apmiSGi0iaqe6iLQCaLPutCSfcVYAZzlI4T0ZPqsuxKq3atAmzNvmIMtJYhfEmEu8T1UFYW0HJWCBgN5bD1BVb6e5/qDcM+9ILVPbbCbhUYBdsBhKp/VDsIb+SjY1ta+dVOh/uSjJdc6mxe4U65Syjz/yXvQDZpfzmTX2f9/YfwjbtMfZb48B/QY5e4nFzq8wlvDN3U/cEn4JaisGRex3gn8wUMupxkL7PhhBZY94udrbfLekWd2Hm21EE/ZNpUITc5f5nNFdSzadav213Mv6Mp+je0Uulrtb6c4d+VgCh0lIoxS7jtGFadP0wtAxgUpufG0wNsbp5opojR9MlBorYfUVKdZfLhshQxzv1xh0tfD2kaytnbeCUo3aT1my6b7yaAT6ZM7HxI+OHRRwFDsoIumPvNnP8GjkVWfSjCVfyvjDCg162dPmfZ45buI/h3B7p2wMNOvFPc7GM5X6OKOOqQ0I0dPfPYfZHDZWilfy80QQ9ySV6hS4lAazWFs052fn+ZF458UQcpNAxuRKWhwMHdv9B6sRqAc=

Steps to reproduce

Comp.vue

type ISlots =  {
  "last-columns": (props: string) => void
  "lastColumns":(props: string) => void
}
defineSlots<ISlots>()

App.vue

  <Comp :config="config">
    <template #last-columns></template>
    <template #last-columnsasd></template>  <!-- should be error  -->
    <template #lastColumns></template>
    <template #lastColumnsasd></template>
   </Comp>

What is expected?

use kebab in defineSlot should check slot name error

What is actually happening?

use kebab in defineSlot lose slot name check

System Info

No response

Any additional comments?

No response

Kanade-Lu avatar Dec 22 '23 02:12 Kanade-Lu

cc/ @so1ve

baiwusanyu-c avatar Dec 22 '23 09:12 baiwusanyu-c

Could you please transfer this issue to vuejs/language-tools?

so1ve avatar Dec 22 '23 09:12 so1ve

This issue appears to have been forgotten. Does this behavior meet expectations?

Kanade-Lu avatar Feb 26 '24 03:02 Kanade-Lu

This seems to be a TypeScript bug/limitation:

TypeScript Playground

kermanx avatar Jun 17 '24 15:06 kermanx