react+antd 给switch设置初始值变量

react项目使用antd组件中的switch功能,设置初始值为变量,所以需要在 Form.Item 标签上添加一个 valuepropname={初始值}  

错误示范:

<Form.Item label="开关">
   <Switch defaultChecked={data.type} checkedChildren="开启" unCheckedChildren="关闭" onChange={this.onchange} size="default" />
</Form.Item>

记得加上key值,不然浏览器的控制台会报错 

正确示范

<Form.Item label="开关" valuepropname={data.type} key={data.type}>
   <Switch defaultChecked={data.type} checkedChildren="开启" unCheckedChildren="关闭" onChange={this.onchange} size="default" />
</Form.Item>


在触发onchange事件的时候改变switch的值
onchange = async (checked) => {
    const { data } = this.props;
 if (checked === false) {
    data.type = 0;
    调用接口修改switch状态
 } else if (checked === true) {
     data.type = 1;
     调用接口修改switch状态
  }
};