【发布时间】:2022-01-06 21:22:28
【问题描述】:
所选选项未反映。我有一个下拉列表,它是controlled 输入。 Whenever any option is chosen then getting empty string from event.target.value = <empty string>
Google Chrome 中不会出现此问题。一切正常,但在 Firefox 中却没有。
这是我的代码:
<select
id="location"
required
name="location_id"
className="form-control form-control-sm"
value={item.location_id} // <-- state data
onChange={(e) => {
setVariantsLocations(
e,
product.bundle_variant_id,
bv.sku,
item.id
);
}}>
<option value="">--Select--</option>
{bv.locations?.map((loc) => {
return (
<option
value={loc?.id}
disabled={loc.quantity === 0}>
{loc?.code} [Q: {loc.quantity}]
</option>
);
})
}
</select>
setVariantsLocations = (e, parentSku, childSku, item_id) => {
console.log(e.target.value) // <empty string>
}
【问题讨论】:
-
你使用的是什么版本的 React?通过
console.log(JSON.stringify(e.target.value))记录了什么?您是否尝试过将事件e直接记录在匿名回调处理程序中 传递给setVariantsLocations?认为您可以创建一个 running 代码框来重现我们可以实时检查和调试的问题? -
React
v16.14.0& 从console.log(JSON.stringify(e.target.value))获取'' -
谢谢。那你可以试试做一个codeandbox吗?
标签: html reactjs google-chrome firefox