【问题标题】:bootstrap-select fails when Looping through Object for Select Option为选择选项循环对象时,引导选择失败
【发布时间】:2019-04-02 23:33:18
【问题描述】:

我有以下 JSON,我想遍历对象并将其作为下拉选择列表引导程序中的选项:

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"
}

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

下面是我的代码:

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

【问题讨论】:

    标签: reactjs express bootstrap-modal bootstrap-select


    【解决方案1】:

    使用Object.prototype.keys 而不是Object.prototype.entries 来迭代属性。另外不要忘记在每个选项上添加 key 属性,以便 React 知道需要重新渲染的内容:

    Object.keys(this.state.location)
      .map(key => (
        <option key={key} 
                value={this.state.location[key]}>
                {this.state.location[key]}
        </option>
      )
    );
    

    【讨论】:

    • 感谢您的及时回复。我按照您的建议更改了代码,但我仍然无法在模式上获得下拉选项。下拉选择仍然是空的:(
    猜你喜欢
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 2017-03-29
    相关资源
    最近更新 更多