【vue3 <script setup> props 使用与讲解】defineProps、withDefaults 类型限制、默认值设置

本文介绍了Vue3中在<script setup>环境中使用defineProps和withDefaults来声明和定义props的方法。通过运行时声明和类型声明两种方式,详细阐述如何设置props的类型、默认值、必传属性以及自定义验证。同时指出,如果仅使用运行时声明,错误仅会在控制台以warn警告显示,而类型声明则能提供编辑器的语法提示和错误检查。文章通过三个例子逐步解析,最后一个例子展示了如何在类型声明基础上设置prop的默认值,特别强调了默认值为引用类型时的处理方式。
摘要由CSDN通过智能技术生成
  • 本章主要涉及api内容:defineProps、withDefaults;

  • defineProps 只能是要么使用`运行时声明`,要么使用`类型声明`。同时使用两种声明方式会导致编译报错。;

  • defineProps、withDefaults 是只在


例子1 > 运行时声明 的方式只能设置参数类型、默认值、是否必传、自定义验证。报错为控制台warn警告。

若想设置[ 编辑器报错、编辑器语法提示 ]则需要使用类型声明的方式。

<script lang='ts' setup>
const props = defineProps({
  child: {
    type:String, // 参数类型
    default: 1, //默认值
    required: true, //是否必传
    validator: value => {
      return value >= 0 // 除了验证是否符合type的类型,此处再判断该值结果是否符合验证
    }
  },
  sda: String, //undefined
  strData: String,
  arrFor: Array
})
</script>

子组件声明了的props ,若父组件未传,则该值为 undefined


例子2 > 类型声明的方式1:defineProps 单独使用该api,只能设置是否必传和参数类型。&#

  • 11
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值