Checkbox 复选框

定义/Definition

复选框提供了一个简单的方法来从一个预定义集合中选取多个值。

规则 / Rule

  • 复选框一般出现在列表左侧;

  • 如果两个相互排斥的选项,如“我同意”和“我不同意”,请将其合并使用单个复选框“我同意”。

代码演示

基本

纯粹的Checkbox

  1. import { Checkbox, WhiteSpace, WingBlank } from 'antd-mobile';
  2. import { createForm } from 'rc-form';
  3. let Test = React.createClass({
  4. onClick() {
  5. console.log(this.props.form.getFieldsValue());
  6. },
  7. render() {
  8. const { getFieldProps } = this.props.form;
  9. return (
  10. <div>
  11. <WingBlank>
  12. <WhiteSpace />
  13. <Checkbox
  14. {...getFieldProps('a0', {
  15. initialValue: true,
  16. valuePropName: 'checked',
  17. })}
  18. />
  19. <WhiteSpace />
  20. <Checkbox
  21. {...getFieldProps('a1', {
  22. initialValue: false,
  23. valuePropName: 'checked',
  24. })}
  25. />
  26. <WhiteSpace />
  27. <Checkbox
  28. disabled
  29. {...getFieldProps('a2', {
  30. initialValue: true,
  31. valuePropName: 'checked',
  32. })}
  33. />
  34. <WhiteSpace />
  35. <Checkbox
  36. disabled
  37. {...getFieldProps('a3', {
  38. initialValue: false,
  39. valuePropName: 'checked',
  40. })}
  41. />
  42. <WhiteSpace />
  43. </WingBlank>
  44. </div>
  45. );
  46. },
  47. });
  48. Test = createForm()(Test);
  49. ReactDOM.render(<Test />, mountNode);

列表项复选框

Checkbox.CheckboxItem

  1. import { List, Checkbox } from 'antd-mobile';
  2. import { createForm } from 'rc-form';
  3. const CheckboxItem = Checkbox.CheckboxItem;
  4. let Test = React.createClass({
  5. onClick() {
  6. console.log(this.props.form.getFieldsValue());
  7. },
  8. render() {
  9. const { getFieldProps } = this.props.form;
  10. return (
  11. <div>
  12. <List>
  13. <List.Header>表单多选项,普通列表中多选项</List.Header>
  14. <List.Body>
  15. <CheckboxItem
  16. {...getFieldProps('f1', {
  17. initialValue: true,
  18. valuePropName: 'checked',
  19. })}
  20. >
  21. 签约
  22. </CheckboxItem>
  23. <CheckboxItem
  24. {...getFieldProps('f2', {
  25. initialValue: false,
  26. valuePropName: 'checked',
  27. })}
  28. >
  29. 物料铺设
  30. </CheckboxItem>
  31. <CheckboxItem
  32. disabled
  33. {...getFieldProps('f3', {
  34. initialValue: false,
  35. valuePropName: 'checked',
  36. })}
  37. >
  38. 机具维护(不能选)
  39. </CheckboxItem>
  40. <CheckboxItem
  41. disabled
  42. {...getFieldProps('f4', {
  43. initialValue: true,
  44. valuePropName: 'checked',
  45. })}
  46. >
  47. 产品问题解决(必选)
  48. </CheckboxItem>
  49. </List.Body>
  50. </List>
  51. </div>
  52. );
  53. },
  54. });
  55. Test = createForm()(Test);
  56. ReactDOM.render(<Test />, mountNode);

协议复选框

Checkbox.AgreeItem

  1. import { Checkbox } from 'antd-mobile';
  2. import { createForm } from 'rc-form';
  3. const AgreeItem = Checkbox.AgreeItem;
  4. let Test = React.createClass({
  5. onClick() {
  6. console.log(this.props.form.getFieldsValue());
  7. },
  8. render() {
  9. const { getFieldProps } = this.props.form;
  10. return (
  11. <div>
  12. <AgreeItem
  13. {...getFieldProps('f5', {
  14. initialValue: false,
  15. valuePropName: 'checked',
  16. })}
  17. >同意同意同意同意同意同意同意同意同意同意同意同意同意同意同意同意同意同意同意同意同意
  18. </AgreeItem>
  19. <AgreeItem
  20. {...getFieldProps('f6', {
  21. initialValue: true,
  22. valuePropName: 'checked',
  23. })}
  24. >同意<a>《信用支付服务合同》</a>
  25. </AgreeItem>
  26. <AgreeItem
  27. disabled
  28. {...getFieldProps('f7', {
  29. initialValue: false,
  30. valuePropName: 'checked',
  31. })}
  32. >未选中,不可编辑<a>《信用支付服务合同》</a>
  33. </AgreeItem>
  34. <AgreeItem
  35. disabled
  36. {...getFieldProps('f8', {
  37. initialValue: true,
  38. valuePropName: 'checked',
  39. })}
  40. >强制选中,不可编辑<a>《信用支付服务合同信用支付服务合同信用支付服务合同》</a>
  41. </AgreeItem>
  42. </div>
  43. );
  44. },
  45. });
  46. Test = createForm()(Test);
  47. ReactDOM.render(<Test />, mountNode);

Checkbox复选框 - 图1

API

Checkbox

单纯的复选框
成员说明类型可选值默认值
nameString
defaultChecked初始是否选中Boolean
checked指定当前是否选中Boolean
disabledBoolean
onChangechange事件触发的回调函数,参数是event对象Function

Checkbox.CheckboxItem

作为列表项复选框
成员说明类型可选值默认值
nameString
defaultChecked初始是否选中Boolean
checked指定当前是否选中Boolean
disabledBoolean
onChangechange事件触发的回调函数,参数是event对象Function
extra右边内容String/HTML

Checkbox.AgreeItem

用于同意协议这种场景的复选框