reactjs - 循环中的 Material UI KeyboardTimepicker 始终具有相同的值
问题描述
我在循环中有一个时间选择器,当我为特定选择器选择时间时,另一个时间选择器的值被分配一个所选时间选择器的值。
我有这样的一天json:
[ {id:1,name:'Monday',val:'mon'}, {id:2,name:'Tuesday',val:'tue'}, {id:3,name:'Wednesday',val:'wed'}, ..]
当我使用日 json 循环时间选择器时:
const handleInputChange = (value, type) => {
alert(type); // always alerts "sun"
setCreateFields({...createFields, [`${type}`]: value});
};
{days.map( (day, i) => {
return ( <div key={day.id}>
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<KeyboardTimePicke
value={selectedTime}
onChange={ handleInputChange(moment(e).format('hh:mm A'), `time_${day.value}`)} }
open={isTimepickerOpen}
onClose={() => toggleDatePicker(false, 'time')}
TextFieldComponent={() =>
<input name={day.suffix} type="text" className="form-control" placeholder="Select time"
autoComplete="disabled"
value={createFields[`time_${day.value}`] && createFields[`time_${day.value}`]}
onChange={() => {}}
onClick={() => toggleDatePicker(true, 'time')}
readOnly
/>}
/>
</MuiPickersUtilsProvider>
</div>
)
}
现在,当我提醒type
内部handleInputChange
功能时,它总是说,但是当我在之前sun
渲染时,它会正确显示。day.value
<MuiPickersUtilsProver>
似乎是什么问题?我什至尝试将密钥添加到时间选择器,但即使所有时间选择器的密钥都不相同,它仍然无法正常工作。
解决方案
推荐阅读
- vba - VBA Find Multiple Headers and Set Range as Multiple Columns
- angular - 角度日期范围选择器无法实现
- python - 如何捕获伪造者发送的错误输入,以便我的自动化不会崩溃?
- visual-studio - 在 Visual Studio 中使用 CMake add_custom_command 复制可执行文件
- r - 函数中的错误函数:r.squaredGLMM 无法接管函数中的参数
- javascript - 获取指数的幂
- python - 试图通过政府网站上的数十万个 pdf 进行网络抓取。想要尽快完成
- reactjs - 在 React 中的数字输入上使用 toFloat 和 setState
- java - Java:将克隆作为函数参数而不是引用传递
- python - 使用正则表达式 pandas 改变年龄