起因
报错children.forEacht is not function
分析原因
由于地址组件本身存在options,此时父组件又传递…otherProps,且解构了父级组件的otherProps,其中others解构后的属性就有options,因此产生了属性冲突,导致属性options被覆盖。
示例代码
optionsProps中,包含了另外一个options,替换了options={area},导致报错(因为Cascader的options属性是接收数组类型的数据的,传进来的新options是对象类型):
// 这边是孙子组件
<Cascader
showSearch={showSearch}
changeOnSelect={changeOnSelect}
options={area} // 这个属性将被覆盖
value={initialValue}
onChange={handleChanged}
{...optionsProps}
/>
解决办法
重命名该属性