首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环通过Object for Select选项时,bootstrap-select失败

循环通过Object for Select选项时,bootstrap-select失败
EN

Stack Overflow用户
提问于 2018-10-30 08:08:10
回答 1查看 155关注 0票数 0

我有下面的JSON,我想遍历该对象,并将其作为下拉列表中的选项获取:

代码语言:javascript
复制
location = {
"1": "1234 E. Big Beaver Rd. Troy WI",
"2": "7340 Shoal Blvd.,Austin CA",
"3": "58 Executive Park, Irvine CA 92456",
"4": "710 rue de la Renaissance Pittsburg"
}

我使用bootstrap-select、ReactJS和ExpressJS。我想使用上面的对象创建一个选择字段。我不知道为什么它在表单中不起作用。我有一个类似的select字段和类似的JSON,它可以工作。

下面是我的代码:

代码语言:javascript
复制
<div className="row">
<div className="form-group col-md-4">
<label>location:</label>
<select
value={this.state.location}
onChange={this.handleChangeLocation}
style={{ fontSize: 14, width: '750px' }}
className="form-control">
{ Object.entries(this.state.location).map(elem => {
console.log('elem: ' + elem);
    return ( <option value = {elem[1]}>{elem[1]}</option> );
                    })
               }
</select>
</div>
</div>

我需要在渲染中修改什么才能同时使用bootstrap-select和ReactJS?

EN

回答 1

Stack Overflow用户

发布于 2018-10-30 08:53:33

使用Object.prototype.keys而不是Object.prototype.entries来迭代属性。另外,别忘了在每个选项上添加key属性,这样React就会知道需要重新渲染什么:

代码语言:javascript
复制
Object.keys(this.state.location)
  .map(key => (
    <option key={key} 
            value={this.state.location[key]}>
            {this.state.location[key]}
    </option>
  )
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53055606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档