uni-helper / uni-app-types

为 uni-app 内置组件提供 TypeScript 类型
https://uni-helper.js.org/uni-app-types
MIT License
83 stars 14 forks source link

volar / vue-tsc@^1.6.4 该如何配置? #44

Closed zhuddan closed 1 year ago

zhuddan commented 1 year ago

描述问题

你好!我有一个项目已经配合vue3.3发布进行了升级 volar 和 vue-tsc 但是不能正常工作

出现了类似这个issue 的问题

复现

项目根目录 tsconfig.json

{
  "extends": "@vue/tsconfig/tsconfig.json",
  "compilerOptions": {
    "sourceMap": true,
    "lib": ["esnext", "dom"],
    "resolveJsonModule": true,
    "types": [
      "@dcloudio/types",
      "@uni-helper/uni-app-types",
      "@uni-helper/uni-ui-types"
    ]
  }
}

项目 json 配置

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "auto-imports.d.ts",
    "vite.config.ts"
  ]
}

使用时报错

<button type="primary"  > // Type '"primary"' is not assignable to type '"button" | "submit" | "reset" |  undefined
      新增
</button>

button 类型 image

请问我该怎么办

系统信息

System:
    OS: Windows 10 10.0.22621
    CPU: (16) x64 12th Gen Intel(R) Core(TM) i7-1260P
    Memory: 1.99 GB / 15.73 GB
  Binaries:
    Node: 16.19.1 - D:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - D:\Program Files\nodejs\yarn.CMD
    npm: 8.19.3 - D:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22621.1555.0), Chromium (113.0.1774.35), ChromiumDev (115.0.1843.0)
    Internet Explorer: 11.0.22621.1

使用的包管理器

pnpm

核对

zhuddan commented 1 year ago

ps @uni-helper/uni-app-types 版本为 ^0.5.7 "@dcloudio/types为^3.3.3

ModyQyW commented 1 year ago

@vue/runtime-dom 3.3 改了,所以类型不正常了,建议先回退到 3.2。我这边可能需要几天来处理。

zhuddan commented 1 year ago

泛型组件 和 slots 类型 太香了 ,不是很想退。。。

等你有时间再改好把 我先将就用着,打包之类的也不影响,就是ide报个错 麻烦了

ModyQyW commented 1 year ago

试着覆盖 @vue/runtime-dom 的类型但没有效果……

@KeJunMao @zguolee @hairyf 大哥们有无头绪?教教 😭

KeJunMao commented 1 year ago

这样不行吗? vue3.3.2,volar1.7.3

declare module '@vue/runtime-dom' {
  export interface ButtonHTMLAttributes extends _Button {}

  export interface IntrinsicElementAttributes {
    /** 按钮 */
    button: ButtonHTMLAttributes;
  }
}

image

ModyQyW commented 1 year ago

这样不行吗? vue3.3.2,volar1.7.3

declare module '@vue/runtime-dom' {
  export interface ButtonHTMLAttributes extends _Button {}

  export interface IntrinsicElementAttributes {
    /** 按钮 */
    button: ButtonHTMLAttributes;
  }
}

image

不太行,这种做法的话 view 和 text 没法同时处理,都是用的 SVGAttributes

e42ae091d4097c1725d3f0b76941831c

f5f8731933dcd6b9f6e3bebc008321d1

我这边目前会这样。

ModyQyW commented 1 year ago

刚刚发布了 0.5.8-0,明天会做更详尽的测试(vue2.6.14,vue3.2.47,vue3.3)

ModyQyW commented 1 year ago

0.5.8 已经发布!如果有问题请反馈,谢谢 🙏 @zhuddan

zhuddan commented 1 year ago

@ModyQyW 十分感谢!已经可以正常工作了!

WuMrZore commented 1 year ago
image image

我这没有正常工作,很奇怪 vue:3.2.47 valar: 1.7.6

@ModyQyW

zhuddan commented 1 year ago

@WuMrZore 请升级vue到3.3

WuMrZore commented 1 year ago

@WuMrZore 请升级vue到3.3

我的项目是 uniapp,现在 uniapp 还不支持 vue3.3 吧?

zhuddan commented 1 year ago

@WuMrZore 我升级了是没有问题的,至少现在开发或者打包还没有遇到问题。。。如果你坚持要用3.2,请把@uni-helper/uni-app-types 版本降低为0.5.7。如果想升级3.3的话参考这个

ModyQyW commented 1 year ago

@WuMrZore volar 1.6.5 正常吗?

ModyQyW commented 1 year ago

@WuMrZore 我自己这边复现不出来,如果方便的话麻烦再开个 issue 提供下完整的信息🙏

WuMrZore commented 1 year ago

@WuMrZore 我自己这边复现不出来,如果方便的话麻烦再开个 issue 提供下完整的信息🙏

我也不知道为啥,我先再观察观察