props写法方式:
1.指定传递属性名 ,数组形式
props: ['id', 'name','list'] //不限制数据类型
2.指定传递属性名和数据类型,对象形式
props:
{
id: Number,
name: String,
isRequired: Boolean,
list: Array,
info: Object,
addFn: Function
}
3.指定属性名、数据类型、必要性、默认值
props: {
// 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证)
aa: Number,
// 多个可能的类型
bb: [String, Number],
//指定属性名、数据类型、必填、默认值
cc: {
type: String,
required: true,
default: 'mxg'
},
loading: {
type: Boolean,
default: false,
},
rowId: {
type: String,
default: "id",
},
apiUrl: {
type: String,
default: "",
},
//对象或数组默认值必须从一个工厂函数获取
activeMethod: {
type: Function,
default: () => {
return true;
},
},
// 具有默认值的数组写法
tableData: {
type: Array,
default: () => [],
},
formConfig: {
type: Object,
default: () => {},
},
//带有默认值的对象
tablePage: {
type: Object,
default: () => ({
currentPage: 1,
pageSize: 10,
totalResult: 0,
}),
},
// 自定义验证函数
propFn: {
validator: function (value) {
// 这个值必须匹配下列字符串中的一个
return ["success", "warning"].indexOf(value) !== -1;
},
},
}