react.js - antd InputGroup 使用getFieldDecorator取得的值和预期不一致

查看:1686
本文介绍了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不应该为string

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

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

这篇关于react.js - antd InputGroup 使用getFieldDecorator取得的值和预期不一致的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆