Radio 单选框

单选框

代码演示

示例

  1. import { List, Radio, Flex } from 'antd-mobile';
  2. const RadioItem = Radio.RadioItem;
  3. const Test = React.createClass({
  4. getInitialState() {
  5. return {
  6. value: 1,
  7. };
  8. },
  9. onChange(value) {
  10. console.log('checkbox');
  11. this.setState({
  12. value,
  13. });
  14. },
  15. render() {
  16. const { value } = this.state;
  17. const data = [
  18. { value: 0, label: '博士' },
  19. { value: 1, label: '本科' },
  20. { value: 2, label: '高中' },
  21. ];
  22. return (<div>
  23. <List renderHeader={() => 'RadioItem 演示'}>
  24. {data.map(i => (
  25. <RadioItem key={i.value} checked={value === i.value} onChange={() => this.onChange(i.value)}>
  26. {i.label}
  27. </RadioItem>
  28. ))}
  29. <RadioItem key="disabled" data-seed="logId" disabled defaultChecked multipleLine>
  30. 初中<List.Item.Brief>辅助文字内容</List.Item.Brief>
  31. </RadioItem>
  32. </List>
  33. <Flex style={{ padding: '0.3rem' }}>
  34. <Flex.Item style={{ padding: '0.3rem 0', color: '#888', flex: 'none' }}>Radio 演示 (自定义样式)</Flex.Item>
  35. <Flex.Item>
  36. <Radio className="my-radio" onChange={(e) => console.log('checkbox', e)}>同意协议</Radio>
  37. </Flex.Item>
  38. </Flex>
  39. </div>);
  40. },
  41. });
  42. ReactDOM.render(<Test />, mountNode);
  1. .my-radio .am-radio {
  2. padding: 0.05rem;
  3. border: 1px solid #ccc;
  4. border-radius: 50%;
  5. margin-right: 0.1rem;
  6. }

Radio单选框 - 图1

API ( 适用平台:WEB、React-Native )

Radio

成员说明类型默认值
namenameString
defaultChecked初始是否选中Boolean
checked指定当前是否选中Boolean
disabled禁用Booleanfalse
onChangechange 事件触发的回调函数(e: Object): void

Radio.RadioItem

基于List.ItemRadio进行封装,List.Itemextra属性固定传入Radio,其他属性和List.Item一致。其他 API 和 Radio 相同。