defineprops() must be a literal type or a reference to an interface or literal type

1.vue3打包遇到如下问题

在这里插入图片描述

2.分析

vue3 defineProps不支持使用外部导入的类型,会报错。

3.解决方法

就是直接在脚本标签区域写类型声明,然后引用即可。如下:

<script setup lang="ts">
// import type { Props } from './propsType'

type ValueType = {
    buzId: string,
    insuranceId: string,
    productId: string
} | undefined


 interface Props {
    formConfig: any[],
    formData: {
        ValueType?: ValueType,
        [P: string]: any
    },
    realTimeUrl: string,
    layout: string,
    productId?: number,
    planId?: number,
    scene?: number
}

const props = withDefaults(defineProps<Props>(), {
    formConfig: () => [],
    formData: () => ({}), // 表单数据
    realTimeUrl: '', // 实时提交的接口地址(业务逻辑)
    layout: 'inline',
    productId: undefined,
    planId: undefined,
    scene: undefined
})
<script/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值