我将“isAvailable”prop存储为布尔值,但当handleChange函数运行时,它将我的布尔变量转换为字符串。是否可以保留“isAvailable”布尔值而不创建另一个函数来处理更改?
下面是我的渲染选择框:
<select
type='text'
name="isAvailable"
className='itemAvailability form__input'
value={this.props.details.isAvailable}
onChange={this.handleChange}
>
<option>Availability</option>
<option value={true}>Available</option>
<option value={false}>Not Available</option>
</select>
这里是handleChange函数
handleChange = (e) => {
const updatedItem = {
...this.props.details,
[e.currentTarget.name]: e.currentTarget.value
}
this.props.updateItem(this.props.index, updatedItem);
}
4条答案
按热度按时间uoifb46i1#
下面是我为那些遇到同样问题的人提供的解决方案。我已经更新了handleChange函数,如下所示。
ygya80vv2#
HTML
option
元素的value属性只能是字符串。如果要获取布尔值,可能需要设置radio input fieldmwecs4sa3#
很晚了,但是我想我应该展示一下我是如何处理类似的事情的,一旦我的选项进入mongo数据库,它的值就被设置为一个布尔值,但是在页面刷新之前redux将选项存储为一个字符串,所以添加了一个字符串检查来显示同时的变化。
zc0qhyus4#
[2023]有一个变通方案,您可以检查当前选定的值,并根据该值返回最终值。
例如:对于上面的代码
在您要提交的数据中,您可以具有: