m-cascader
m-cascader copied to clipboard
异步获取data值后render有问题
动态设置data时候必须设置value,重新渲染能保持滚动到的选项的位置,本来就有问题,很多异步获取的数据是无法提前知道第一个选项默认value是什么
异步获取数据后render,如果之前data是空数组,重新设置data显示空白。
给出你的demo代码
state: {
branchByCity: [],
},
<Picker
cols={1}
extra="请选择"
onVisibleChange={this.subBranchByCityVisibleChange.bind(this)}
data={state.branchByCity}
{...getFieldProps('subBranchByCity')}
>
<List.Item arrow="horizontal">开户网点</List.Item>
</Picker>
异步获取获取数据改变branchByCity为[{ label: 1, value: 1, key: 1 }....]后 选项浮层这时候不设置value时显示空白,还有就是如果通过onPickerChange去改变data,重新渲染,选项卡会跳动到value值那个选项卡,具体你可以试试 当选项卡浮层打开时,异步去改变data,无论是一列还是children 都会出现问题
我也遇到类似的问题,第一次通过onPickerChange改变data的时候,并不会更新数据,要第二次才会在页面上体现出来。 并不能达到真正的异步效果。