javascript - 选择以整个对象为值的选项

标签 javascript reactjs ecmascript-6

在我的 React 选择输入中,我想遍历我的驱动程序数组,并为每个驱动程序生成以单个驱动程序作为值的 。但是当我控制台记录目标值时,我只有一个 [object Object],如果我尝试调用,例如 driver.driverName,我会得到“undefined”。为什么?

<label className="pt-label pt-inline">
        Autista
        <div className="pt-select">
            <select onChange={this.changeDriver}>
                <option>Scegli autista</option>
                {this.props.drivers.map((driver) => {
                    return <option key={driver.key}
                                   value={driver}>{driver.driverName} {driver.driverLastname}</option>
                                    })}
            </select>
        </div>
</label>

最佳答案

driver 的值是一个 JS 对象,但是 value <option> 的属性期望一个字符串。在 JavaScript 中将对象解析为字符串将导致 [object Object] .您将需要在该空间中存储一个单独的键值。如果您需要在选择该选项时从对象中提取特定值,我建议存储 driver.key然后在您的回调函数中将其用作查找引用。

关于javascript - 选择以整个对象为值的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40848208/

相关文章:

javascript - 当你通过引用传递时,我们会改变状态吗

javascript - JS 不在 Gatsby 上运行

javascript - Array.find 函数在 nodejs 中不起作用(在 CLI 中起作用,而不是文件项目)

javascript - 纯 Javascript - 单击按钮/输入键时将文本输入的值添加到 <li>

javascript - 在 JavaScript(ES6) 的构造函数链中调用被子函数覆盖的父函数

javascript - 我导航到的大多数页面上的这个脚本是什么?

javascript - 使用 Loopback 4 发送电子邮件

javascript - 根据窗口宽度移动图像

javascript - React this.setState 会正常排队吗?

javascript - JQuery Mobile showPageLoadingMsg 未按预期显示