Form表单的单一FormItem定义如下:
<FormItem label="是否启用" {...formItemLayout}>
{getFieldDecorator('useable',{
rules:[{
required:true,message:'是否启用'
}],
initialValue: this.state.useableChecked
})(
<WrapedCheckBox onChange={this.onUseableCheckedChange}/>
)}
</FormItem>
但是因为checkbox无value配置项,所以自定义checkbox如下:
class WrapedCheckBox extends Component {
render() {
let status = true;
if (this.props.value === false || this.props.value === 'false') status=false;
return (
<Checkbox
checked={status}
onChange={this.props.onChange}>
{this.props.text}
</Checkbox>
);
}
}
export default WrapedCheckBox;
因为checkbox的checked属性只能识别bool型的false,无法识别字符型的false,所以在render中做一次强制数据转换。