Мультиселект возвращает только одну опцию - PullRequest
0 голосов
/ 18 апреля 2019

я пытаюсь получить выбранные параметры, но я получаю только последний выбранный вариант из выбранного входа.

состояние никогда не обновляется для нескольких опций. Просто последний вариант, я пробовал много опций, но ничего не сохраняется для множественных опций.

    currentPage: 3,
    custFirstname: "",
    custLastName: "",
    custPhoneNum: "",
    custEmail: "",
    vehicleNum: "",
    vehicleMake: "",
    vehicleModel: "",
    defects_tank: "",
    defects_tankLogo: "",
    defects_lightglass: "",
    defects_seatcover: "",
    defects_crashgaurd: "",
    defects_mirrors: "",
    defects_indicators: "",
    electricals_headlight: "y",
    electricals_tailLight: "y",
    electricals_console: "y",
    electricals_indicatorF: "y",
    electricals_indicatorR: "y",
    electricals_horn: "y",
    petrolLevel: "",
    battery: "",
    jobs: [],
    job: {
      description: "",
      repObserv: "",
      customerReq: "",
      typeOfService: "",
      charges: "",
      services: []
    }
  };

я обновляю состояние -> работа -> услуги

handleJobsDropDown = e => {
    console.log(e.target.options);
    const { options } = e.target;

    const value = [];

    for (let i = 0, l = options.length; i < l; i++) {
      if (options[i].selected) {
        value.push(options[i].value);
      }
    }
    this.setState({
      job: { ...this.state.job, services: value }
    });
  };
  <select
              multiple={true}
              value={this.state.job.services}
              onChange={this.handleJobsDropDown}
            >
              <option value="paid">Paid Serv</option>
              <option value="free">Free Serv</option>
              <option value="chain">Chain Serv</option>
              <option value="repeat">Rpt Serv</option>
            </select>

...