React-Select: несколько значений в атрибуте defaultValue

Я пытаюсь добавить несколько значений в свой атрибут defaultValue, но безуспешно.

<Select 
   value = {this.state.selectedTests} 
   defaultValue = {this.getDefaultValues(this.props.tests)} 
   isMulti onChange = {(e) => this.handleChangeEvent(e)} 
   options = {this.state.allTests} 
   className = "basic-multi-select dropDownSelector"
 />

getDefaultValues() возвращает массив:

0:{value: "t1", label:"Test1"}
1:{value: "t2", label:"Test2"}

Но элемент Select не показывает метки...

Кто-нибудь еще сталкивался с такой же проблемой или знает, как это решить?

Спасибо за помощь!

Когда вы запускаете console.info getDefaultvalues(), вы получаете 0:{value: "t1", label:"Test1"} 1:{value: "t2", label:"Test2"} или [{value: "t1", label:"Test1"},{value: "t2", label:"Test2"}]?

Laura 05.03.2019 17:31

@Laura Я получаю массив с двумя записями, такими как Pos 0: {value: «t1», label: «Test1»} Pos 1: {value: «t2», label: «Test2»}

MagD 07.03.2019 09:05
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
2
1 844
2

Ответы 2

Вы должны указать значение только в свойстве defaultValue. Ярлык находится в свойствах опций. Оно будет соответствовать правильному значению реквизита, который вы указали в реквизитах. Метод getDefaultValues() должен возвращать:

0: "t1",
1: "t2"

Спасибо за помощь. Я пытался вернуть только значения, но это тоже не сработало. Когда я когда-либо возвращаю массив с более чем одной записью в defaultValue, в элементе Select ничего не появляется. Но когда я возвращаю массив с одной записью, например: 0: {значение: «t1», метка: «Test1»}, Test 1 появляется в Select.

MagD 05.03.2019 16:31

Я решил свою проблему :) Значения в атрибуте «значение» перезаписали значения в атрибуте «значение по умолчанию». Я удаляю атрибут «значение», и теперь он работает.

Измененный код:

<Select 
   defaultValue = {this.getDefaultValues(this.props.tests)} 
   isMulti onChange = {(e) => this.handleChangeEvent(e)} 
   options = {this.state.allTests} 
   className = "basic-multi-select dropDownSelector"
 />

Другие вопросы по теме