实现select框的修改,antd在4.0版本前需要 经 Form.create() 包装组件,会自带 this.props.form 属性,详情可看antd的api。
handleChange (){ const ls =[] 判断select下的参数是否存在 if (this.props.form.getFieldValue("sourceBuildingIds" )){ 判断选定是否为全选 if (this.props.form.getFieldValue("sourceBuildingIds").indexOf("all") >= 0){ 判断选择的数量 if ( this.state.sourceBuildingList.length >= this.props.form.getFieldValue("sourceBuildingIds").length ){ this.state.sourceBuildingList.forEach(function(ele) { ls.push(ele.id) }); this.props.form.setFieldsValue({ sourceBuildingIds : ls, }) }else { 二次选择全选清空 this.props.form.setFieldsValue({ sourceBuildingIds : [], }) } } } }
因刚开始写这个全选没有思路,这个handleCha