基础组件 Radio 封装 <Input type="radio" />
组件
export default class RadioDemo extends PageCore {
state = {
value: "open"
};
handleChange = value => {
this.setState({ value });
};
render(){
return(
<Page>
<Radio
label="开"
value="open"
name="switch"
checked={this.state.value === "open"}
onChange={this.handleChange}
/>
<Radio
label="关"
value="close"
name="switch"
onChange={this.handleChange}
checked={this.state.value === "close"}
disabled
/>
</Page>
)
}
}
--radio-text-color: var(--font-color-main-dark);
--radio-button-size: calc(2.2 * var(--unit));
// radio 符号底边距
--radio-field-margin-bottom: calc(0.5 * var(--radio-button-size));
// radio 符号与文字中间距离
--radio-inner-margin: calc(var(--radio-button-size) / 4);
--radio-color: var(--color-primary-main);
--radio-disabled-color: rgb(229,229,234);
--radio-default-color: rgb(229,229,234);
--radio-text-font-size: var(--font-size-title);
参数名 | 类型 | 必选 | 默认值 | 描述 |
---|---|---|---|---|
label | string | √ | 无 | 说明文本 |
name | string | √ | 无 | input name 属性 |
onChange | function | √ | 无 | 切换触发函数 |
value | string , number | √ | 无 | 对应的值 |
checked | boolean | × | false | 选中状态 |
className | string | × | 无 | 根节点附加类名 |
disabled | boolean | × | false | 禁止操作 |
ripple | boolean | × | true | 水波纹效果 default true |
作为 Radio 组件的封装,方便业务开发者渲染一组 Radio。
export default class Radiocheckbox extends PageCore {
data = [
{
label: "xinyue",
value: "xinyue"
},
{
label: "eva.li",
value: "eva.li"
},
{
label: "luoluo",
value: "luoluo"
}
];
state = {
groupValue: "eva.li"
};
handleChange = value => {
this.setState({ value });
};
render(){
return(
<Page>
<RadioGroup
name="name"
data={this.data}
onChange={this.handleChangeGroup}
value={this.state.groupValue}
/>
</Page>
)
}
}
参数名 | 类型 | 必选 | 默认值 | 描述 |
---|---|---|---|---|
data | Array<{value:string|number, label:string, disabled:boolean |void }> | √ | 无 | 渲染 checkbox 的 内容 |
onChange | function | √ | 无 | 切换回调 参数为 已经选中的 value 值 |
value | Array<string|number> | √ | 无 | 选中的 value 值数组 |
name | string | √ | 无 | input 组件上 name 属性 |
className | string | × | 无 | 根节点类名 |