uni-app 【报Bug】v3 + ts开发时 button标签设置type="primary" 有错误提示,使用VSCode开发工具
uni-app 【报Bug】v3 + ts开发时 button标签设置type=“primary” 有错误提示,使用VSCode开发工具
示例代码:
<button @click="login" type="primary" class="btn">微信登录</button>
操作步骤:
<button @click="login" type="primary" class="btn">微信登录</button>
预期结果:
button标签设置type="primary"不会用错误提示
实际结果:
button标签设置type="primary"会有错误提示
bug描述:
v3 + ts开发,button标签设置type=“primary” 有错误提示,用VSCode 开发工具。
信息类别 | 信息内容 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境 | Windows |
PC开发环境版本 | Windows 10 家庭中文版 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 3.4.4 |
第三方工具版本 | 3.3.11.20220209 |
基础库版本 | 2.22.0 |
项目创建方式 | HBuilderX |
更多关于uni-app 【报Bug】v3 + ts开发时 button标签设置type="primary" 有错误提示,使用VSCode开发工具的实战教程也可以访问 https://www.itying.com/category-93-b0.html
vscode的语法校验是为web做的,未兼容小程序。
良好的开发体验推荐使用HBuilderX
更多关于uni-app 【报Bug】v3 + ts开发时 button标签设置type="primary" 有错误提示,使用VSCode开发工具的实战教程也可以访问 https://www.itying.com/category-93-b0.html
问题已确认,相关团队的开发人员正在协助解决,感谢您的反馈!
这个什么时候解决?
在使用 uni-app
进行 V3 + TypeScript
开发时,如果你在 button
标签上设置 type="primary"
时遇到错误提示,可能是因为 TypeScript 的类型检查机制无法识别 type="primary"
这个属性值。button
标签的原生 type
属性通常只接受 submit
、reset
和 button
等值,而 primary
是 uni-app
框架中扩展的属性值。
解决方法
方法一:忽略 TypeScript 的类型检查
你可以通过 @ts-ignore
注释来忽略 TypeScript 对该行的类型检查:
<!-- @ts-ignore -->
<button type="primary">Primary Button</button>
这种方法简单直接,但会忽略该行的所有类型检查,可能会隐藏其他潜在的错误。
方法二:扩展 button
标签的类型定义
你可以通过扩展 button
标签的类型定义来让 TypeScript 识别 type="primary"
这个属性值。
- 在项目中创建一个
shims.d.ts
文件(如果还没有的话)。 - 在
shims.d.ts
文件中添加以下内容:
import 'vue';
declare module 'vue' {
interface HTMLAttributes {
type?: string;
}
}
这样,TypeScript 就会允许 button
标签的 type
属性接受任意字符串值,包括 primary
。
方法三:使用 uni-app
提供的组件
uni-app
提供了一些内置的组件,如 uni-button
,你可以直接使用这些组件来避免类型检查问题:
<uni-button type="primary">Primary Button</uni-button>