React:select+antd+react实现 select全选,反选

实现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

你可能感兴趣的:(前端,react,react.js)