React form表单多选框CheckBox该怎么取值

#1

react form表单 checkbox 该怎么取值呢?
官网的onchange事件貌似对于这个特殊的表单控件不好使呢:
a
b

如果只有一个选项处理倒还好弄 ,但是如果是多个复选框就没法正确的获取到用户到底选了a\b还是a、b都选了。原生的form 表单 处理就很方便,发送的数据根据name属性取值的,react 就不知道怎么处理了。

#2

用的antd的checkbox? 如果是,那form是拿不到它的value的,考虑使用select组件吧

#3

这跟用不用antd没关系吧,并且我也没用。
帖子说错了一个东西,就算通过原生js貌似也不好获取复选框数据。后端代码倒是很好取值 直接通过 req.params.[name] 就可以获取了。

#4

https://www.npmjs.com/package/react-changehandler 推荐个神器

#5

可以用 ref 属性来标记控件,并获得该控件本身。
比如

<input ref="cb" type="checkbox"/>

// 获取 input
this.refs['cb']
#6

可以看下react的 CheckboxGroup, 接受一个数组

写法1:
<Checkbox.Group  value={['a','b']} dataSource={[{label: 'a', value: 'a'}, {label:'b', value:'b'}]} />
写法2:
<Checkbox.Group value={['a','b']}>
  <Checkbox value="a"> a </Checkbox>
  <Checkbox value="b"> b </Checkbox>
</Checkbox.Group>

组件可以参考 react-bootstrap 或者antd 的checkbox