Как манипулировать выбранными значениями в выпадающем списке семантического интерфейса - PullRequest
0 голосов
/ 24 мая 2018

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

Разметка для раскрывающегося списка:

<Dropdown
    placeholder='Campaign Exposed To'
    fluid
    search
    selection
    multiple
    options={this.state.campaigns}
    onChange={this.exposedCampaignOnChange}
/>

Обработчик onChange выглядит следующим образом:

exposedCampaignOnChange = (e, {value}) => {
    e.persist(); // access event properties in asynchronously

    const text = e.target.textContent;
    const currentValue = value[value.length-1];

    // manipulate value array to include text too
    value[value.length - 1] = {text: text, value: currentValue};

    this.props.campaignExposedSelected(value);
};

Это преобразует массив значений в коллекцию объектов в следующем формате: {text: test 1, value: 4353234} , что мне нужно .

Однако, поскольку я изменил значение с массива чисел на массив объектов , выпадающий список показывает ошибочное поведение - он не отображает выбранные параметры вполе.

В качестве альтернативы, чтобы избежать манипулирования массивом значений, я подумал о добавлении текста опции к его свойству значения, например, 3442332___text (поэтому в раскрывающихся опциях будет предоставлен массив значений в этом формате).Далее я буду анализировать любую информацию, которая мне нужна.Я чувствовал, что это не очень элегантно, поэтому не стал его использовать.

Благодарим вас за помощь в том, как изменить массив значений Sementic UI Dropdown, не нарушая его.

...