选项列表中的动态数据

问题描述 投票:0回答:2

在我的本机应用程序中,我正在使用react-native-modal-dropdown,它运行正常,但问题是我想在选项列表中设置动态数据,它接受一个数组,从我这边返回的数据返回一个具有ID的对象,名称和颜色,它存储在状态中,我只想取名字并将它们放在选项中,我该怎么做?这是代码:

落下

<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'
    },
    ]
}
javascript react-native dropdown
2个回答
0
投票

您希望使用.map将objects数组转换为仅包含汽车名称的字符串数组。

所以做这样的事情应该有效

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

虽然您应该注意到您以两种方式引用汽车。确保使用正确的。 carsCars取决于你在你所在州的拥有方式。

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
投票

如果你真的不关心ID那么你可以这样做:

    const options = [{id: 1, name: "one"}, {id: 2, name: "two"}, {id: 3, name: "three"}].map(op => op.name);
    <ModalDropdown options={options}/>
© www.soinside.com 2019 - 2024. All rights reserved.