Radio 单选框
从多个互斥对象中,选中一个。规则
一般出现在 List 右侧。
和 Switch 的区别是,Radio 支持 2 个以上互斥对象。
代码演示
Radio.RadioItem
import { List, Radio } from 'antd-mobile';
const RadioItem = Radio.RadioItem;
const Test = React.createClass({
getInitialState() {
return {
disabled: false,
value: 1,
};
},
handleChange(e) {
if (e.target.checked) {
this.setState({
value: 1,
});
}
},
handleChange2(e) {
if (e.target.checked) {
this.setState({
value: 2,
});
}
},
render() {
return (
<div>
<List
title="请选择学历"
>
<List.Body>
<RadioItem
checked={this.state.value === 1}
onChange={this.handleChange}
disabled={this.state.disabled}
>
博士
</RadioItem>
<RadioItem
checked={this.state.value === 2}
onChange={this.handleChange2}
disabled={this.state.disabled}
>
硕士
</RadioItem>
<RadioItem
checked={this.state.value === 3}
onChange={(e) => {
if (e.target.checked) {
this.setState({ value: 3 });
}
}}
>
本科
</RadioItem>
<RadioItem
checked={this.state.value === 4}
onChange={(e) => {
if (e.target.checked) {
this.setState({ value: 4 });
}
}}
>
高中
</RadioItem>
<RadioItem
checked={this.state.value === 5}
onChange={(e) => {
if (e.target.checked) {
this.setState({ value: 5 });
}
}}
>
初中
</RadioItem>
<RadioItem
checked={this.state.value === 6}
onChange={(e) => {
if (e.target.checked) {
this.setState({ value: 6 });
}
}}
disabled
>
小学
</RadioItem>
</List.Body>
</List>
</div>
);
},
});
ReactDOM.render(<Test />, mountNode);
API
Radio
成员 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
name | String | 无 | ||
defaultChecked | 初始是否选中 | Boolean | 无 | |
checked | 指定当前是否选中 | Boolean | 无 | |
disabled | Boolean | 无 | ||
onChange | change事件触发的回调函数,参数是event对象 | Function | 无 |
Radio.RadioItem
- 基于
List.Item
对Radio
进行封装,List.Item
的extra
属性固定传入Radio
,其他属性和List.Item保持一致。具体API请参考List.Item
。