【问题标题】:Dynamic data inside options list选项列表中的动态数据
【发布时间】:2019-03-01 15:46:23
【问题描述】:

在我的 react 本机应用程序中,我正在使用 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


    【解决方案1】:

    您想使用.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)

    【讨论】:

    • 我以前从未使用过该依赖项。我建议您查看文档,如果您无法弄清楚,请提出一个新问题。
    【解决方案2】:

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

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

    【讨论】:

    • 如果您只想添加名称,那么我的回答仍然有效。请试用并更新我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    相关资源
    最近更新 更多