Динамические данные в списке опций - PullRequest
0 голосов
/ 01 марта 2019

В моем собственном приложении реакции, которое я использую, я использую act-native-modal-dropdown , и оно работает отлично, но дело в том, что я хочу установить динамические данные в списке опций, он принимает массиви данные, возвращенные с моей стороны, возвращают объект, который имеет идентификатор, имя и цвет, и он хранится внутри состояния, я хочу только брать имена и помещать их в параметры, как я могу это сделать?вот код:

Раскрывающийся список

<ModalDropdown options={this.state.cars.name}/>

Возвращенный объект

state:{
    Cars:[
    {
     id: 1,
    Name: 'Mercedes',
    Color: 'Red'
    },
    {
     id: 2,
    Name: 'BMW',
    Color: 'Black'
    },
    {
     id: 3,
    Name: 'Toyota',
    Color: 'White'
    },
    ]
}

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Вы хотите использовать .map для преобразования массива объектов в массив строк, которые содержат только имена автомобилей.

Таким образом, выполнение чего-то подобного должно работать

<ModalDropdown options={this.state.cars.map(car => car.Name)}/>

Хотя вы должны заметить, что вы ссылаетесь на автомобили двумя способами.Убедитесь, что используете правильный.cars или Cars, в зависимости от того, как оно у вас в штате.

let state = {
    Cars:[
    {
     id: 1,
    Name: 'Mercedes',
    Color: 'Red'
    },
    {
     id: 2,
    Name: 'BMW',
    Color: 'Black'
    },
    {
     id: 3,
    Name: 'Toyota',
    Color: 'White'
    },
    ]
}

let carNames = state.Cars.map(car => car.Name);
console.log(carNames)
0 голосов
/ 01 марта 2019

Если вас действительно не интересует идентификатор, вы можете сделать это так:

    const options = [{id: 1, name: "one"}, {id: 2, name: "two"}, {id: 3, name: "three"}].map(op => op.name);
    <ModalDropdown options={options}/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...