Radio 单选框

单选框。

何时使用

  • 用于在多个备选项中选中单个状态。
  • 和 Select 的区别是,Radio 所有选项默认可见,方便用户在比较中选择,因此选项不宜过多。

API

Radio

参数 说明 类型 可选值 默认值
checked 指定当前是否选中 Boolean false
defaultChecked 初始是否选中 Boolean false
value 根据 value 进行比较,判断是否选中 String

RadioGroup

单选框组合,用于包裹一组 Radio

参数 说明 类型 可选值 默认值
onChange 选项变化时的回调函数 Function(e:Event)
value 用于设置当前选中的值 String
defaultValue 默认选中的值 String

组件演示

var Radio = antd.Radio;

React.render(<Radio>Radio</Radio>
, document.getElementById('components-radio-demo-basic'));

最简单的用法。

var Radio = antd.Radio;
var RadioGroup = antd.Radio.Group;

var App = React.createClass({
  getInitialState: function () {
    return {
      value: 'a'
    };
  },
  onChange(e) {
    console.log('radio checked:' + e.target.value);
    this.setState({
      value: e.target.value
    });
  },
  render() {
    return <div>
      <RadioGroup onChange={this.onChange} value={this.state.value}>
        <Radio value="a">A</Radio>
        <Radio value="b">B</Radio>
        <Radio value="c">C</Radio>
        <Radio value="d">D</Radio>
      </RadioGroup>
      <div style={{marginTop: 20}}>你选中的: {this.state.value}</div>
    </div>;
  }
});
React.render(<App />, document.getElementById('components-radio-demo-radiogroup'));

一组互斥的 Radio 配合使用。

var Radio = antd.Radio;

function toggleDisabled() {
  disabled = !disabled;
}

var App = React.createClass({
  getInitialState() {
    return {
      disabled: true
    };
  },
  toggleDisabled() {
    this.setState({
      disabled: !this.state.disabled
    });
  },
  render() {
    return <div>
      <Radio defaultChecked={false} disabled={this.state.disabled}>不可用</Radio>
      <br />
      <Radio defaultChecked={true} disabled={this.state.disabled}>不可用</Radio>
      <div style={{marginTop: 20}}>
        <button className="ant-btn ant-btn-primary" onClick={this.toggleDisabled}>
          Toggle disabled
        </button>
      </div>
    </div>;
  }
});

React.render(<App />, document.getElementById('components-radio-demo-disable'));

Radio 不可用。

var RadioButton = antd.Radio.Button;
var RadioGroup = antd.Radio.Group;

function onChange(e) {
  console.log('radio checked:' + e.target.value);
}

React.render((
  <RadioGroup onChange={onChange} defaultValue="a">
    <RadioButton value="a">杭州</RadioButton>
    <RadioButton value="b">上海</RadioButton>
    <RadioButton value="c">北京</RadioButton>
    <RadioButton value="d">成都</RadioButton>
  </RadioGroup>
), document.getElementById('components-radio-demo-radiobutton'));

按钮样式的单选组合。