Antd---单选框Radio的关于defaultValue的坑

前几天在做流程设置模块时,遇到一个坑,挣扎了大半个钟才出来。

事情是这样的

额,还是先上代码吧

代码比较粗,抱歉抱歉,将就将就,css由于webpack那边未处理好(可能吧,我还不大了解webpack),直接写成行内样式了。

RadioGroup需要的值需要从后台返回,一开始用的defaultValue转载值,用this.state.aprtype来传值。

噼里啪啦地对接好了接口,欢快地打印出了所有接口的值,嗯?radio没有对上?是defaultValue的用法不对吗?尝试给一个固定的值,例如 defaultValue=1,没有问题啊,那就不是defaultValue的问题(>*_*<)。

setState是异步的,那会不会是这个原因,this.state.aprtype的值还未更新?

尝试使用  setTimeout 和 setState的时候加一个callback,都没效果,在近乎绝望的时候,又想起defaultValue,额,改value试一下好了。

成功了...好吧,具体的原理不是很明白,猜测是defaultValue不随state的更新而改变。

官方文档是这样的      defaultValue  ---  默认选中的值

          value      ---  用于设置当前选中的值

有什么区别?!望不吝赐教,先谢谢了

 

posted @ 2018-01-16 11:06  _i_do  阅读(1739)  评论(0编辑  收藏  举报