react.js - antd InputGroup 使用getFieldDecorator取得的值和预期不一致
本文介绍了react.js - antd InputGroup 使用getFieldDecorator取得的值和预期不一致的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
使用antd的From组件配合CheckboxGroup,CheckBoxGroup 经过getFieldDecorator包装后设置了initialValue和type:array,
初始化是可以正确显示initialValue值,
但是一旦点击某个checkbox元素,所有的初始值就失效,只有当前选中的值是选中状态, 使用submit提交的时候,选中的值是字符串而不是数组。而我需要的是数组
代码:
{getFieldDecorator("levelIds",{
initialValue:currentBankInfo?`${currentLevels()}`:[],
rules:[{
type:'array'
}]})(
<CheckBoxGroup options = {levelsOptions(levels) } />
)}
initialValue是一个数组,含有初始化的vlaue值
类似这样
[1,5,56]
CheckBoxGroup的Options 也是一个数组
类似这样
[
{value:1,label:"level1"},
{value:5,label:"level5"},
{value:7,label:"level7"},
]
取值的时候变成了一个字符串
"1,2.5"
我想要的是这样的值
[1,2,5]
解决方案
几个问题:
currentBankInfo
为false的时候initialValue
不应该为stringrules:[{ type:'array' }]}
的校验不需要,checkboxGroup的value自然就是Arary
如果还能复现,请提供一个可复现的demo: http://codepen.io/benjycui/pe...
这篇关于react.js - antd InputGroup 使用getFieldDecorator取得的值和预期不一致的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文