在我的反应本机应用程序中,我正在使用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'
},
]
}
您想使用.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)
如果您真的不在乎ID,则可以这样做:
const options = [{id: 1, name: "one"}, {id: 2, name: "two"}, {id: 3, name: "three"}].map(op => op.name);
<ModalDropdown options={options}/>