对于刚接触react的小白,这个问题缠绕了我好几天,百思不得其解。记录下,希望下次避坑。
使用组件的时候,给initValue赋值之后,选择器就一直出现数据实际已经选上,但是选中标识不显示,并且选择二级数据之后就返回一级的问题。看了官方文档之后说要双向绑定value,但是经过多次尝试还是没能解决。
最终,看到了这个属性
就改变方式,重新给选中项赋值,就完美解决了这个问题。
<CascaderView defaultValue={selectValue} options={options} onChange={(value, selectedOptions) => { console.log(value, selectedOptions, "eeeeee"); if (mode === "single") { let newInitValue = []; // 只有当选择到二级时才收集数据 if (selectedOptions.items.length === 2) { newInitValue = [ { value: selectedOptions.items[0].value, label: selectedOptions.items[0].label }, { value: selectedOptions.items[1].value, label: selectedOptions.items[1].label }, ]; setInitValue(newInitValue); onChange?.([...newInitValue]); const CascaderValue = newInitValue ? [newInitValue[0]?.value, newInitValue[1]?.value] : []; setSelectValue(CascaderValue); } } }} />