动态获取组件的props 深坑
for (let propValue in elComponentData.props) {
let param = {}
param["propName"] = propValue;
//获取props的类型
let tpyeName = elComponentData.props[propValue].type.name;
praram["type"] = typeName;
}
组件下的props设置如下
props:{
input_pageindex:Number,
input_pagesize:Number,
output_total:Number,
}
这样读取好像没什么问题,循环应该可以读取到属性名称和类型了,但是报错了,

props[propValue].type.name 报错了,因为读取propValue,但是props的列表中没有该值。
但是在浏览器调试中,我确实也是看到了各个props都在列表中,但是就是读取不到。我之前的怎么就能读取到,现在不行了?
后来无意中发现有些属性我是有设置tpye这个选项的。我之前能读取到,是有设置type值的,难道是这个值的问题,修改了props中的设置如下:
input_pageindex:{tpye:Number}
!!!正常读取了
官方对type的字段说明是: 对传入的数据类型进行验证
第一个写法也是对类型的验证,不知道两者的区别是什么?新人没搞懂。
总之要动态获取,设置type是必要的。
即使是尽在眼前的风景,每踏出一步,都会是一个新世界。

浙公网安备 33010602011771号