Conditional API call and send data in react-select

后端 未结 2 764
你的背包
你的背包 2021-01-27 21:36



        
2条回答
  •  没有蜡笔的小新
    2021-01-27 21:58

    try like this

    import React, { Component} from 'react';  
            import Select from 'react-select';  
            import 'react-select/dist/react-select.css';
    
            const partsType = [
                {value: 'front_parts', label: 'Part Condition-Front'},
                {value: 'left_parts', label: 'Part Condition-Left'},
                {value: 'back_parts', label: 'Part Condition-Back'},
                {value: 'right_parts', label: 'Part Condition-Right'},
                {value: 'top_bottom_parts', label: 'Part Condition-Top/Bottom'},
                {value: 'glass', label: 'Glass Condition'},
                {value: 'electrical_parts', label: 'Electrical Parts'},
                {value: 'non_electrical_parts', label: 'Non-Electrical Parts'}
            ];
    
            const getParts = (type) => {
                return fetch(
                  `http://localhost:4000/${type}`,
                  {
                      method: 'get'
                  }
                )
                  .then(response => {
                      if(response.status >= 400){
                      throw new Error("error");
                      }
                      return response.json()
                  })
                  .then(parts => {
                      let partsName = [];
    
    
                      for(let part of parts) {
                      partsName.push({value: part.promptCode, label: part.text})
                      }
    
    
                      return {options: partsName};
                  })
                  .catch(err => {
                      console.log('could not fetch parts');
                      console.log(err);
                      return {options: []}
                  })
    
            };
    
            class Assess extends Component {
    
                constructor(props){
                super(props);
                this.state = {
                    partsType:'front_parts'
    
                };
    
            this.handlePartsType = this.handlePartsType.bind(this);
    
            handlePartsType = (item) => {
                  this.setState({
                      partsType: item.value
                  }, getParts(item.value));
    
                  };
    
            render() {
    
                return (
                
    提交评论

提交回复
热议问题