ReactJS: как передать несколько значений в value?

#javascript #reactjs #react-native #autocomplete

#javascript #reactjs #react-native #автозаполнение

Вопрос:

Я хочу передать несколько значений в разделе value в компоненте класса react. Как в value={this.state.port1, this.state.port2, .....etc }

Есть ли какой-нибудь способ?

 return (
  <ReactAutocomplete
    items={this.state.searchData}
    shouldItemRender={(item, value) =>
      item.NameWoDiacritics.toLowerCase().indexOf(value.toLowerCase()) > -1
    }
    getItemValue={(item) => item.Name}
    renderItem={(item, highlighted) => (
      <div
        key={item.id}
        style={{ backgroundColor: highlighted ? "#eee" : "white" }}
      >
        {item.Name}
      </div>
    )}
    value={(this.state.Port1, this.state.Port2)}
    onChange={(e) => this.childOnChange(e)}
  />
);
  

Ответ №1:

Вы могли бы передать объект

value={{port1: this.state.Port1, port2: this.state.Port2}}

Комментарии:

1. Можете ли вы объяснить это подробнее??

2. вы поняли?

3. ДА… хотя мое решение было другим в этом сценарии … но это тоже правильно

4. ДА… хотя мое решение было другим в этом сценарии … но это тоже правильно

Ответ №2:

Вы можете передать его как «объект».

 value={{ this.state.Port1, this.state.Port2}}
  

или

 value={{ value1: this.state.Port1, value2: this.state.Port2 }}
  

Комментарии:

1. Итак, попробуйте передать как «объект» (я отредактировал ответ)

2. как я должен определить это значение1, значение2 …. его ошибка отображается как:TypeError: value . Нижний регистр не является функцией

3. Это произошло потому, что вы не обрабатываете данные как массив в функции shouldItemRender()