前几天在做流程设置模块时,遇到一个坑,挣扎了大半个钟才出来。
事情是这样的
额,还是先上代码吧
代码比较粗,抱歉抱歉,将就将就,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 --- 用于设置当前选中的值
有什么区别?!望不吝赐教,先谢谢了