目录:
1. 组件传递Props校验
1.1 默认数据类型
1.2 指定数据类型
1.3 默认值 default
1.4 必选项 required
1.5 Props 只读属性
Vue 组件可以更细致地声明对传入的 props 的校验要求。
{{ title }}
{{ title }}
{{ msg }}
要声明对 props 的校验,你可以向 props 选项提供一个带有 props 校验选项的对象
export default {
props: {
// 基础类型检查
//(给出 `null` 和 `undefined` 值则会跳过任何类型检查)
propA: Number,
// 多种可能的类型
propB: [String, Number],
// 必传,且为 String 类型
propC: {
type: String,
required: true
},
// Number 类型的默认值
propD: {
type: Number,
default: 100
},
// 对象类型的默认值
propE: {
type: Object,
// 对象或者数组应当用工厂函数返回。
// 工厂函数会收到组件所接收的原始 props
// 作为参数
default(rawProps) {
return { message: 'hello' }
}
},
// 自定义类型校验函数
propF: {
validator(value) {
// The value must match one of these strings
return ['success', 'warning', 'danger'].includes(value)
}
},
// 函数类型的默认值
propG: {
type: Function,
// 不像对象或数组的默认,这不是一个
// 工厂函数。这会是一个用来作为默认值的函数
default() {
return 'Default function'
}
}
}
}
一些补充细节:
所有 prop 默认都是可选的,除非声明了 required: true。
除 Boolean 外的未传递的可选 prop 将会有一个默认值 undefined。
Boolean 类型的未传递 prop 将被转换为 false。这可以通过为它设置 default 来更改——例如:设置为 default: undefined 将与非布尔类型的 prop 的行为保持一致。
如果声明了 default 值,那么在 prop 的值被解析为 undefined 时,无论 prop 是未被传递还是显式指明的 undefined,都会改为 default 值。
{{ title }}
{{ title }}
{{ msg }}
{{ productNum }}
数字和字符串可以直接default,如果是对象和数组,则必须通过函数返回默认值
当组件传递数据,未传递,则直接使用默认值:
{{ title }}
{{ title }}
{{ msg }}
{{ productNum }}
- {{ item }}
所有 prop 默认都是可选的,除非声明了 required: true。
{{ title }}
{{ title }}
{{ msg }}
{{ productNum }}
- {{ item }}
组件props 传递过去 的数据不允许修改
{{ title }}
{{ title }}
{{ msg }}
{{ productNum }}
- {{ item }}
页面更新:2024-03-05
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号