elementPlus使用select和switch组件的change时报错:
vue的vscode插件(volar)会对template部分进行ts语法分析,会为默认事件添加对应的类型。这样导致出现ts类型校验出错
"不能将类型“(value: string) => void”分配给类型“(payload: Event) => void”。 参数“value”和“payload” 的类型不兼容。",
如何解决?,这个时候本来想去去elementplus和volar的issues提出问题
后来发现在2021年12月的时候volar版本就出过类似问题
OK,那基本锁定问题是出在了volar版本更新的问题了
然后去volar的issues看看吧,果然volar的作者**johnsoncodehk** 建议先回退版本到0.32.0
目前我的版本是0.32.1,看来是个过渡版本
如何版本降级?
找到对应要回退的版本tag
1 打开 VSCode 插件市场网址 marketplace.visualstudio.com/vscode,输入你想要的插件名称
然后下载对应的版本,这里我下载的是volar 0.32.0
2 卸载已经安装的volar
3 把下载下来的离线安装包拷贝到 VSCode 的安装目录下的 bin 目录下,比如我的 VSCode 安装在 D:\Microsoft VS Code\,因此这里我应该拷贝到 C:\Microsoft VS Code\bin 这个目录下
4 输入命令安装
code --install-extension johnsoncodehk.volar-0.32.0.vsix
这样版本降级就成功了,提示更新暂时不理,等稳定点的版本再说
这样我的报错信息就消失了