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]
阅读 10.2k
1 个回答

几个问题:

  • currentBankInfo 为false的时候initialValue不应该为string

  • rules:[{ type:'array' }]}的校验不需要,checkboxGroup的value自然就是Arary

如果还能复现,请提供一个可复现的demo: http://codepen.io/benjycui/pe...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题