Switch 滑动开关
在两个互斥对象进行选择,eg:选择开或关。规则
只在 List 中使用。
避免增加额外的文案来描述当前 Switch 的值。
代码演示
Switch. (rc-form document)
import { List, Switch } from 'antd-mobile';
import { createForm } from 'rc-form';
let SwitchExample = (props) => {
const { getFieldProps } = props.form;
return (
<List
renderHeader={() => 'Form switch'}
>
<List.Item
extra={<Switch
{...getFieldProps('Switch1', {
initialValue: true,
valuePropName: 'checked',
})}
onClick={(checked) => { console.log(checked); }}
/>}
>On</List.Item>
<List.Item
extra={<Switch
{...getFieldProps('Switch2', {
initialValue: false,
valuePropName: 'checked',
})}
onClick={(checked) => { console.log(checked); }}
/>}
>Off</List.Item>
<List.Item
extra={<Switch
{...getFieldProps('Switch3', {
initialValue: false,
valuePropName: 'checked',
})}
onClick={(checked) => { console.log(checked); }}
disabled
/>}
>Disabled off</List.Item>
<List.Item
extra={<Switch
{...getFieldProps('Switch4', {
initialValue: true,
valuePropName: 'checked',
})}
onClick={(checked) => { console.log(checked); }}
disabled
/>}
>Disabled on</List.Item>
<List.Item
extra={<Switch
{...getFieldProps('Switch5', {
initialValue: false,
valuePropName: 'checked',
})}
platform="android"
/>}
>Style for Android</List.Item>
<List.Item
extra={<Switch
{...getFieldProps('Switch6', {
initialValue: true,
valuePropName: 'checked',
})}
platform="ios"
/>}
>Style for iOS</List.Item>
</List>
);
};
SwitchExample = createForm()(SwitchExample);
ReactDOM.render(<SwitchExample />, mountNode);
API
适用平台:WEB、React-Native属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
checked | 是否默认选中 | Boolean | false |
disabled | 是否不可修改 | Boolean | false |
onChange | change 事件触发的回调函数 | (checked: bool): void | 无 |
name(web only ) | switch 的 name | String | |
platform (web only ) | 设定组件的平台特有样式, 可选值为 android , ios , 默认为 cross , 即组件会自动检测设备 UA 应用不同平台的样式 | String | 'cross' |
onClick | click事件触发的回调函数,当switch为disabled时,入参的值始终是默认传入的checked值。 | (checked: bool): void | 无 |