Switch 滑动开关

在两个互斥对象进行选择,eg:选择开或关。

规则

  • 只在 List 中使用。

  • 避免增加额外的文案来描述当前 Switch 的值。

代码演示

基本

Switch. (rc-form document)

  1. import { List, Switch } from 'antd-mobile';
  2. import { createForm } from 'rc-form';
  3. let SwitchExample = (props) => {
  4. const { getFieldProps } = props.form;
  5. return (
  6. <List
  7. renderHeader={() => 'Form switch'}
  8. >
  9. <List.Item
  10. extra={<Switch
  11. {...getFieldProps('Switch1', {
  12. initialValue: true,
  13. valuePropName: 'checked',
  14. })}
  15. onClick={(checked) => { console.log(checked); }}
  16. />}
  17. >On</List.Item>
  18. <List.Item
  19. extra={<Switch
  20. {...getFieldProps('Switch2', {
  21. initialValue: false,
  22. valuePropName: 'checked',
  23. })}
  24. onClick={(checked) => { console.log(checked); }}
  25. />}
  26. >Off</List.Item>
  27. <List.Item
  28. extra={<Switch
  29. {...getFieldProps('Switch3', {
  30. initialValue: false,
  31. valuePropName: 'checked',
  32. })}
  33. onClick={(checked) => { console.log(checked); }}
  34. disabled
  35. />}
  36. >Disabled off</List.Item>
  37. <List.Item
  38. extra={<Switch
  39. {...getFieldProps('Switch4', {
  40. initialValue: true,
  41. valuePropName: 'checked',
  42. })}
  43. onClick={(checked) => { console.log(checked); }}
  44. disabled
  45. />}
  46. >Disabled on</List.Item>
  47. <List.Item
  48. extra={<Switch
  49. {...getFieldProps('Switch5', {
  50. initialValue: false,
  51. valuePropName: 'checked',
  52. })}
  53. platform="android"
  54. />}
  55. >Style for Android</List.Item>
  56. <List.Item
  57. extra={<Switch
  58. {...getFieldProps('Switch6', {
  59. initialValue: true,
  60. valuePropName: 'checked',
  61. })}
  62. platform="ios"
  63. />}
  64. >Style for iOS</List.Item>
  65. </List>
  66. );
  67. };
  68. SwitchExample = createForm()(SwitchExample);
  69. ReactDOM.render(<SwitchExample />, mountNode);

Switch滑动开关 - 图1

API

适用平台:WEB、React-Native
属性说明类型默认值
checked是否默认选中Booleanfalse
disabled是否不可修改Booleanfalse
onChangechange 事件触发的回调函数(checked: bool): void
name(web only)switch 的 nameString
platform (web only)设定组件的平台特有样式, 可选值为 android, ios, 默认为 cross, 即组件会自动检测设备 UA 应用不同平台的样式String'cross'
onClickclick事件触发的回调函数,当switch为disabled时,入参的值始终是默认传入的checked值。(checked: bool): void