Я не могу изменить - PullRequest
       5

Я не могу изменить

0 голосов
/ 18 января 2019

Я хочу изменить его, используя contact-select, но получаю сообщение об ошибке.
Когда я выбираю эту опцию, я вижу эту ошибку. помогите мне плз.

ошибка

это опции

const options = [
 { value: 'descript', label: '주관식' },
 { value: 'choice', label: '객관식' },
 { value: 'combine', label: '다중식' }
];

и это на смену функции

onChangeTmpType = (e) => {
 this.setState({
   tmp_type: e.target.value
 })
}

это React-Select

<Select
  components={makeAnimated()}
  value={this.state.tmp_type}
  onChange={this.onChangeTmpType}
  options={options}
/>

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Замените функцию onChangeTmpType следующим образом.

onChangeTmpType = (e) => {
 this.setState({
   tmp_type: e.value
 })
}

Причина, по которой (как упоминалось ранее в @Laura) заключается в том, что в поле e from реагировать на выбор есть только значение и метка.

0 голосов
/ 18 января 2019

Как указано в документации здесь , функция onChange выглядит следующим образом:

function (
  One of <
  Object,
  Array<Object>,
  null,
  undefined
>,
  {
    action required One of <
      "select-option",
      "deselect-option",
      "remove-value",
      "pop-value",
      "set-value",
      "clear",
      "create-option"
    >
    }
  ) => undefined

и объявленное вами e const на самом деле имеет следующую структуру:

{
  label: ...,
  value: ...
}

, поэтому здесь не нужно вводить target, но напрямую e.value, если вы хотите получить доступ к реквизитам value.

Здесь живой пример с console.log, чтобы вы могли видеть, что происходит.

...