Опция для выбора всего, что получает все значения из всех других опций

В настоящее время я использую semantic ui response, и у меня есть раскрывающийся список, содержащий параметры для фильтрации данных. Но этот вариант основан на отображении из массива. Я хочу иметь этот вариант и еще один вариант для выбора всех из них. Как бы я отобразил обе эти опции?

Это моя попытка иметь оба этих варианта

const projectOptions = this.props.projects.map(project => ([{
        text: project.name,
        value: project.id.toString(),
        key: project.id
    },
        {
            text: "Select all", value: "select all"
        }
    ]))

person Justin Chew    schedule 30.11.2017    source источник


Ответы (2)


У вас есть правильная идея, вам нужно добавить опцию «Выбрать все» к массиву projectOptions. Это просто должно произойти за пределами вашего map. Вот один из способов:

const projectOptions = [
    ...this.props.projects.map(project => ({
        text: project.name,
        value: project.id.toString(),
        key: project.id
    })),
    { text: "Select all", value: "select all" }
];
person Patrick Gaskill    schedule 30.11.2017

Вы добавляете параметр «Выбрать все» для каждого параметра в проектах. Следующий код объявляет массив, добавляет параметр «Выбрать все», а затем добавляет сопоставленные объекты в projects.

const projectOptions = [
    {
        text: "Select all", value: "select all"
    },
    ...this.props.projects.map(project => ({
        text: project.name,
        value: project.id.toString(),
        key: project.id
    }))
]
person kmc059000    schedule 30.11.2017