vue3defineProps的用法
时间: 2023-07-25 16:10:00 浏览: 197
`defineProps` 是 Vue3.x 中新增的一个函数,用于定义组件的 props。它的使用方式如下:
```javascript
import { defineComponent, defineProps } from 'vue';
const MyComponent = defineComponent({
props: defineProps({
// props 的定义
}),
// 组件其他的配置项
});
```
`defineProps` 接收一个对象作为参数,对象中的每一个 key 就是一个 prop 的名称,而 value 就是这个 prop 的类型。可以使用以下的数据类型作为 prop 的类型:
- String
- Number
- Boolean
- Array
- Object
- Function
- Symbol
在 props 的定义中,也可以使用一些高级特性,比如:
```javascript
defineProps({
propA: {
type: String,
required: true,
default: 'default value for propA',
validator: (value) => {
// 自定义校验函数
return value.length > 5;
},
},
});
```
其中:
- `type` 表示 prop 的类型
- `required` 表示是否必传,默认为 false
- `default` 表示默认值
- `validator` 表示自定义的校验函数,用于对 prop 的值进行校验
最后,需要注意的是,`defineProps` 必须在 `defineComponent` 中使用。
阅读全文