<uniapp项目vue3>不能将类型"primary"分配给类型"button",ts如何自己做一个联合类型合并到第三方库的type上?

uniapp的button属性type="primary"会报错
网上看的ts教程都比较浅没太搞明白ts
想做一个联合类型合并到第三方的type上应该怎么操作

<template>
    <view class="address">
        <view class="address-choose-box">
            <button
                type="primary"
                size="mini">
                请选择收货地址+
            </button>
        </view>
        <image
            class="address-border"
            src="/static/cart_border@2x.png"></image>
    </view>
</template>

<script setup lang="ts">
interface ButtonHTMLAttributes {
    type: "button" | "submit" | "reset" | undefined | "primary";
}
</script>

源码地址
https://gitee.com/sachin-ye/u...

阅读 4k
2 个回答

还没有找到如何合并第三方type的方法
但是更改了tsconfig.json的配置解决了button的type="primary"报错的问题
在tsconfig.json里添加这个配置

"vueCompilerOptions": {
    "nativeTags": ["block", "component", "template", "slot"]
}

你这个得覆盖已经声明的类型,可以直接写在全局.d.ts上,参考element-plus覆盖vue的类型

declare module '@vue/runtime-core' {
  export interface App {
    [INSTALLED_KEY]?: boolean
  }

  export interface GlobalComponents {
    Component: (props: { is: Component | string }) => void
  }

  export interface ComponentCustomProperties {
    vShow: typeof vShow
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏