选项列表中的动态数据

时间:2019-03-01 15:46:24

标签: javascript react-native dropdown

在我的React Native应用中,我使用的是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'
    },
    ]
}

2 个答案:

答案 0 :(得分:0)

如果您真的不在乎ID,则可以这样做:

    const options = [{id: 1, name: "one"}, {id: 2, name: "two"}, {id: 3, name: "three"}].map(op => op.name);
    <ModalDropdown options={options}/>

答案 1 :(得分:0)

您想使用.map将对象数组转换为仅包含汽车名称的字符串数组。

所以做这样的事情应该可以

<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)